在大多数机器上,函数调用包含着一系列工作:调用前要先保存寄存器,并在返回时恢复;可能需要拷贝实参;程序转向一个新的位置继续执行。
内联函数可以避免函数调用的开销:
如果把shorterString函数声明成内联,那么cout<<shorterString(s1,s2)<<endl;将会在编译过程中展开成类似于下面的形式
cout<<(s1.size()<s2.size()?s1:s2)<<endl; 从而消除了shortString函数的运行时的开销。
在大多数机器上,函数调用包含着一系列工作:调用前要先保存寄存器,并在返回时恢复;可能需要拷贝实参;程序转向一个新的位置继续执行。
内联函数可以避免函数调用的开销:
如果把shorterString函数声明成内联,那么cout<<shorterString(s1,s2)<<endl;将会在编译过程中展开成类似于下面的形式
cout<<(s1.size()<s2.size()?s1:s2)<<endl; 从而消除了shortString函数的运行时的开销。