内联函数在编译的时候将不进行函数调用,编译器将内联函数的代码粘贴在调用(形式上调用)处,可以提高效率。
内联函数只能是代码很少很简单的函数,因为如果一个很大很复杂的函数即使设为内联,编译器也将自动设置该函数为非内联。
内联函数只能是代码很少很简单的函数,因为如果一个很大很复杂的函数即使设为内联,编译器也将自动设置该函数为非内联。
string &shorterString(string &s1,string &s2)
{
return s1.size()
}
假设将shorterString定义为内联函数,则调用:
cout<<shorterString(s1,s2)<<endl;
在编译时就展开为:
cout<<(s1.size()<<endl;
从而消除了把shorterString写成函数的额外执行开销