我应该在大量使用的函数上使用`inline`吗?

Nik*_*s R 5 c++ inline

我有一个cnVector代表三维空间中一个点的类.它的运算符+ - */被密集使用.
他们的实施很短:

cnVector cnVector::operator + (const cnVector& v) const {
    return cnVector(
        x + v.x,
        y + v.y,
        z + v.z );
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,因为这个功能很短,我应该内联它虽然它的密集使用?或者将使用它时,它产生太多的代码多少?

log*_*og0 5

是的,你可能应该.c ++中inline关键字的一个很好的用例是:小函数,使用频繁.

另请参见http://msdn.microsoft.com/en-us/library/1w2887zk%28v=vs.80%29.aspx


pau*_*l23 5

请记住,使用内联绝不是保证,它只是给编译器一个提示.我怀疑内联实际上会增加很多可执行文件的大小,功能本身就很小.
调用函数的大小与函数本身几乎相同.