【发布时间】:2010-04-29 16:33:25
【问题描述】:
我对如何在 C++ 中执行内联函数感到困惑....
让我们说一下这个功能。怎么转成内联函数
int maximum( int x, int y, int z )
{
int max = x;
if ( y > max )
max = y;
if ( z > max )
max = z;
return max;
}
【问题讨论】:
-
把“inline”放在函数定义前面。
-
您还必须将函数定义放在标题中(或以其他方式使其在每个翻译单元中可用...
-
请记住,
inline关键字通常对函数是否内联没有影响,对于任何合理的现代编译器来说。它将允许您在多个位置定义函数,只要所有定义都相同(例如,如果它是inline,您可以在多个标题中定义该函数)。 -
您也可以使用
return (x > y ? (x > z ? x : z) : (y > z ? y : z));。也许这就是问题的意图? -
你也可以把它做成一个函数模板,这可能比使用
inline更可靠。
标签: c++ inline-functions prototype