例如 inline int small(int a,int b)
{ return a < b a : b ;
}
cout
《 small ( a, b )
《 endl ;
等同于 cout
《 (a < b a : b)
《 endl;
编译器会将函数调用语句转换为函数代码,再进行编译。inline只是你给编译器提一个建议,希望它将函数内联,至于它会不会执行就不一定了。
基本上复杂的函数它是不会同意的,就算同意了,也只会使你的编译变得更将浪费时间,而执行速度得不到什么提升。还有,一些编译器是不会通过含有递归的内联函数的。
记住,短小而且反复调用的函数进行内联就可以了。