4-内联函数VisualBasic.NET程序设计.pdf

内联函数  宏定义带来的问题 #define abs(a) ((a) 0 ? –(a):(a)) int m = -2, ret=abs(++m); abs(++m); == ret=((++m) 0 ? –(++m) : (++m)) 最后ret的值为是0。问题出在编 译器在遇到宏时只是进行简单的 宏替换。 2 宏的好处是没有类似于普通函数调用时的系统开销, 并且宏定义的参数可以适宜大多数类型的数据。 宏定义也有缺点: 有时会产生不可预料的副作用 用inline定义一个内联函数  C++中的内联函数既具有宏定义的优点,又克服了 宏定义的缺点。  在函数名前加上“inline” ,即为内联函数。 inline void func(int a, int b);  在编译时在调用func的地方用函数体进行了替换, 所以程序执行时

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档