[c++]内联函数

========================内联函数======================
频繁调用小函数使得函数调用的开销占比重极大,不适用函数而直接在程序中完成同样功能的代码又会降低程序的可读性
内联函数解决了这个矛盾
1.内联函数的声明必须在调用之前!
例如
#include<iostream>
using namespace std;
bool isnumber(char ch); //此处没有声明为 inline
int main()
{
char c;
while(cin >> c && c != '\n' )
{
if(isnumber(c))
{
cout << "digit" << endl;
}
}

return 0;
}
inline bool isnumber(char ch)
{
return ch >= '0' && ch <= '9' ? 1 : 0;
}
上述代码中的isnumber并没有内联 是一个错误内联的示例 编译器在执行时 该函数被当做普通函数对待.

内联函数的函数体应当尽量的小 不应当出现复杂的控制语句 比如switch或者while,如果函数中出现这些复杂的控制语句 那么编译器将会无视内联声明 直接进行普通的函数调用流程(递归也无法内联)
经验上来讲 一般适合1到5行的小函数
内联函数的一般使用场合为:
1.函数体适当小,这样就使得嵌入工作容易进行,不会破坏原调用主体
2.程序中特别是在循环中反复执行该函数 这样就使得嵌入的效率更高
3.程序并不多出出现该函数调用,这样就使嵌入工作量相对较少 代码量也不会剧增.
==========================================================================

原文链接: https://www.cnblogs.com/xdblog/p/4918401.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    [c++]内联函数

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/390320

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月15日 上午9:59
下一篇 2023年3月15日 上午9:59

相关推荐