宏定义和大括号以及斜杠
2016-03-22 09:59
99 查看
今天看到别人的C++的宏定义,从来没见过的定义。所以百度了一下
#define ESCAPE_INVALID_CHAR(pbuf){\
while(pbuf && *pbuf == ',' || *pbuf == ' ' || *pbuf == '\n' || \
*pbuf == '(' || *pbuf == ')' || *pbuf == 13 || *pbuf == '\'')\
pbuf++;\
}\
后来看到一个人的解答是这样的。
所有的宏定义其实都可以看做是宏定义的字符串替换掉代码里的宏定义。有点绕口,其实也就是把你的一大段代码通过宏定义的形式缩写出来一样。现在再来看这个宏定义,就会发现其实很简单。同时定义中的斜杠\可以相当于回车换行符号。
#define ESCAPE_INVALID_CHAR(pbuf){\
while(pbuf && *pbuf == ',' || *pbuf == ' ' || *pbuf == '\n' || \
*pbuf == '(' || *pbuf == ')' || *pbuf == 13 || *pbuf == '\'')\
pbuf++;\
}\
后来看到一个人的解答是这样的。
所有的宏定义其实都可以看做是宏定义的字符串替换掉代码里的宏定义。有点绕口,其实也就是把你的一大段代码通过宏定义的形式缩写出来一样。现在再来看这个宏定义,就会发现其实很简单。同时定义中的斜杠\可以相当于回车换行符号。
相关文章推荐
- Kaggle入门
- 无法保存打印机设置 。操作无法完成 错误(0x0000001)
- testNG集成测试---注解及属性
- 浅析Block
- 解决lint task执行失败问题
- Robot Framework 杂谈
- Android系列之网络(二)----HTTP请求头与响应头
- 一些比较好的论坛、博客
- Android Ireader的全屏与非全屏的切换效果实现
- Android自定义控件:进度条的四种实现方式(Progress Wheel的解析)
- 结对编程完成简单四则运算
- 微信公众平台开发教程第22篇-SAE不支持XStream框架的解决方案
- 动态规划:最长公共子序列
- Python 多态
- Java类加载器
- 查看oracle数据库表空间
- iOS 镜头变焦,推近或者拉远焦距--ZOOM
- 微信公众平台开发教程第21篇-如何保证access_token长期有效
- docker 配置桥接网络
- Spring Aop实例之AspectJ注解配置