串联谐振与并联谐振:内联函数和编译预处理的区别是?

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/05 14:03:07

预处理只是一种简单替代,内联函数比较安全,编译器会自动判断是否可以内联等。
用#define预处理的时候会有一些副作用
比如:
#define ADD(x) (x+1)*(x+1)
如果有代码想要先做a++,再做ADD,那可能就会有问题
ADD(a++)就成了((a++)+1)*((a++)+1)
然而用内联函数就没有问题
所以很多人推荐尽量用内联函数来代替这种预处理
而用const来代替那些预处理的常量定义
但是预处理也有很多inline实现不了的功能,看一下MFC中大量的宏就可以看到它强大的功能。