inline内联函数:当编译器发现某段代码在调用一个内联函数时,它不是去调用该函数,而是将该函数的代码,整段插入到当前位置,相当于宏替换。
好处:内联函数可以消除函数调用和返回所带来的开销(寄存器存储和恢复),
坏处:由于每当代码调用到内联函数,就需要在调用处直接插入一段该函数的代码,所以程序的体积将增大
对时间要求比较高,而本身长度又比较短的函数定义成内联函数。
内联函数必须在使用之前就定义好,否则编译器就没法把这个函数展开,实践中一般在头文件中定义内联函数。
inline内联函数:当编译器发现某段代码在调用一个内联函数时,它不是去调用该函数,而是将该函数的代码,整段插入到当前位置,相当于宏替换。
好处:内联函数可以消除函数调用和返回所带来的开销(寄存器存储和恢复),
坏处:由于每当代码调用到内联函数,就需要在调用处直接插入一段该函数的代码,所以程序的体积将增大
对时间要求比较高,而本身长度又比较短的函数定义成内联函数。
内联函数必须在使用之前就定义好,否则编译器就没法把这个函数展开,实践中一般在头文件中定义内联函数。