在函数返回类型前加上关键字inline就可以将函数指定为内联函数:
1 inline const string& shortString(const string &s1, const string &s2) { 2 return s1.size() < s2.size() ? s1 : s2; 3 }
函数指定为内联函数,(通常)就是将它在程序调用点上”内联地“展开。假设我们将shortString定义为内联函数,则调用:
1 cout<<shortString(s1,s2)<<endl;
在编译时展开为:
1 cout<<(s1.size() < s2.sizre() ? s1 : s2)<<endl;
内联函数的优点:
可以避免调用函数的开销
内联函数的缺点:
由于将对函数的每一个调用都以函数本体替换之。所以会增加目标代码的大小。造成代码膨胀。这将导致程序体积太大,不利于在内存不大的机器上运行。
时间: 2024-11-03 01:49:14