我有一个类cnVector
,它代表了三维空间中的一个点。 其运营商+ - * /正在密集使用。
它们的实现是很短:我应该在大量使用的函数中使用`inline`吗?
cnVector cnVector::operator + (const cnVector& v) const {
return cnVector(
x + v.x,
y + v.y,
z + v.z);
}
我的问题是,因为这个功能是很短的,我应该是内联虽然它的集约利用?或者使用它时会产生太多的代码那多少?
我把这个功能标记为内联。不过,如果你告诉编译器内联任何看起来不错的东西,那并不重要。在MSVC上“内联任何适合的”。不知道GCC。 –
GCC通过['-finline-functions'](http://gcc.gnu.org/onlinedocs/gcc/Inline.html)将指示它自动内联它认为应该内联的函数。 –
我的GCC(4.4.5)使用'-finline-small-functions'作为基本的优化(即在'-O' /'-O1'和更高版本下)。 –