今天简单讲一下,宏定义和函数的区别。 我们都知道,利用宏也可以做一些简单的运算。 比如我们#define SWAP(x,y) x>y?x:y 上面一个宏把SWAP定义成一个比较出较大值的函数。 但是宏和函数还是有区别的。 宏:只做简单的文本替换,#define允许把参数替代到文本中。 宏替换时先检查 ...
分类:
其他好文 时间:
2017-10-26 15:16:57
阅读次数:
177
1.参数。
宏定义无类型限制,而函数形参必须定义,即使实现同样的功能。
eg:#defineMAX(X,Y)(X)>(Y)?(X):(Y)2.执行效率函数在传参和返回值时没有宏定义直接替换语句效率高。3.程序长度宏定义时写一行调几行代码,而函数则一直调用一个位置,源代码没有变长。4.副作用传j++..
分类:
其他好文 时间:
2015-07-30 23:34:56
阅读次数:
191