内联函数与宏的比较

来源:互联网 发布:淘宝入驻天猫要多少钱 编辑:程序博客网 时间:2024/06/14 18:10

内联函数:用内联代码替换函数调用.

宏:纯粹的代码替换------其为内联函数的原始实现。

区别:内联函数是按值的形势传递参数,而宏只是简单纯粹的代码替换。

注意:1:正确的宏的写法----为他的参数加上括号:#define SQURE(X)   ((X)*(X)) 

            2:如果你的宏实现了函数的功能,请尽量把它替换成内联函数(因为内联按值传递参数):比如

#define SQURE(X++)   ((X++)*(X++))           -----------------X实现了两次自增运算,不符合初衷

inline int squre(int x)  {x * x}    ------------------------会先计算表达式的值,然后将结果传给x。

0 0
原创粉丝点击