预处理器(未整理)
来源:互联网 发布:程序员自我评定怎么写 编辑:程序博客网 时间:2024/06/05 07:13
带参数的宏
带参数的宏(也称为函数式宏)的定义有如下格式:
#define 标识符(x1, x2, x3,......,xn) 替换列表
使用带参数的宏替代真正的函数有两个优点:
- 程序可能会稍微快些
- 宏更“通用”
带参数的宏也有一些缺点:
- 编译后的代码通常会变大
- 宏参数没有类型检查
- 无法用指针指向一个宏
- 宏可能会不止一次地计算它的参数
#运算符将宏的一个参数转换为字符串字面量。它仅允许出现在带参数的宏的替换列表中。
##运算符可以将两个记号(如标识符)“粘合”在一起,称为一个新记号。
宏可以使用#undef指令“取消”定义。取消现有宏的定义,以便重新给出新的定义。
对于在一个宏定义中哪里要加圆括号有两条规则要遵守:
- 首先,如果宏的替换列表中有运算符,那么始终要将替换列表放在括号中
- 其次,如果宏有参数,每个参数每次在替换列表中出现时都要放在圆括号中
0 0
- 预处理器(未整理)
- 【C语言】预处理(部分内容未整理)
- 预处理整理
- C#技巧(未整理)
- 注册表键值(未整理)
- MFC ui(未整理)
- oracle文档(未整理)
- 文章积累(未整理)
- android 知识点(未整理)
- 工作小记(未整理)
- C++预处理(一)(整理)
- 未整理
- 未整理
- 未整理
- HTML和CSS高级指南整理(05) 一 预处理器
- 预处理指令C++整理
- c/c++整理--预处理
- AIX相关资料(未整理)
- 重要经验六 NSDictionary排序
- 【HDU 4913】Least common multiple【线段树】
- 【BZOJ】【P1113】【Poi2008】【海报PLA】【题解】【单调队列】
- 【学生系统】——系统总结
- Moravec角点检测
- 预处理器(未整理)
- 纯CSS实现超酷发送按钮
- HDU - 4911 Inversion
- apriori算法 初步实现
- 如何 echo --help查看echo帮助
- 剑指offer-31:连续子数组的最大和
- 算法题:复制复杂链表之复制连接法
- POJ3735 Training little cats DP,矩阵快速幂,稀疏矩阵优化
- PCA学习一M. Turk, A. Pentland, Eigenfaces for Recognition, Journal of Cognitive Neurosicence, Vol. 3, N