关于内联函数的优点以及跟宏相比存在的优势

235 阅读1分钟

内联函数相对于普通的函数存在的好处:
消除函数调用时的时间开销,内联函数从源代码层看,有函数的结构,而在编译后,却不具备函数的性质。因为函数调用前要先保存寄存器,并在返回时恢复,复制实参,程序还必须转向一个新位置执行。

内联函数相比于宏定义的的好处:
1.内联函数在运行时可调试,而宏定义不可以;
2.编译器会对内联函数的参数类型做安全检查或自动类型转换(同普通函数),而宏定义则不会;
3.内联函数可以访问类的成员变量,宏定义则不能;
4.在类中声明同时定义的成员函数,自动转化为内联函数