c++ 自定义内联函数,和自定义普通函数有什么区别

内联函数和普通函数有什么不同

inline 内联 是给编译器的一个提示,其暗示意义如下:将此函数作为一个代码段域插入到调用目标位置,相当于宏函数定义。
但是需要注意的是:inline只是一个给编译器的提示或者建议,编译器是否忽略它,或者部分忽略他除非强制,否则是不可预知的,和编译器的优化技术有关,某些优化技术中也通过对部分非内联函数声明强制使用内联生成。
所有的内联函数在功能上都是普通函数。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-05-11
内联函数在编译的时候把函数体嵌入到每一个调用处。
所以不会有函数调用时发生控制转移的的一些开销,
所以常把一些比较简短但常用的函数声明为内联函数
提高执行效率。

不过如果你这个函数体过大,会增加执行文件的大小,
编译器会自动优化,不把它当做内联函数的。本回答被提问者和网友采纳
第2个回答  2012-05-11
内联函数编译成执行程序时直接插入在调用的地方,所以会少一次函数调用,执行效率高一些,
当然对应的执行文件大小会大一些
相似回答