C++ 中inline用法以及注意点,inline与define的区别

inline内联的用处

     内联函数:即以inline修饰的函数,代码被插入调用者代码处,如同C语言中的define。内联函数在编译的时候,会在调用内联函数的地方展开,没有函数栈帧开销,提高程序的运行效率。inline只是对编译器的一个建议,编译器会自动优化。inline修饰函数时,在声明处修饰无效,只有定义函数时使用才行。定义在类内的成员函数默认为内联函数。

inline和define的区别

    1.内联在编译期间展开,define在预处理阶段展开。
    2.内联会进行,类型检查,define 不会,存在类型安全问题,所以inline会比较安全。
    3.inline函数是函数,宏不是函数。
    尽量使用const、enum、inline替换#define

猜你喜欢

转载自blog.csdn.net/porryCn/article/details/82800773