(1)参数传递:宏可以很方便的继承之前代码的变量,函数,内联函数都要靠传参和全局变量
(2)代码生成 宏和内联函数生成时候会替换,没有函数调用时的压栈,因此执行效率会比函数高一些,没有栈溢出的风险,但会生成更多的代码占用更多空间。
(3)函数和内联函数要改变输入的参数必须用引用或指针
关于宏
#define STR(str) #str 表示把str加上""
#define STR(str) x##str 表示把str连接上x
已经特殊的符号不能作为宏的参数。
时间: 2024-10-20 14:05:18