【发布时间】:2011-06-26 17:27:05
【问题描述】:
在有人跳起来说Profile before optimize!之前,这只是一个好奇的问题,源于this original question。
如果我通过引用返回同一个对象,如果不使用它会被优化掉吗?例如,我有一个Vector<>,它具有各种数学函数(假设我没有使用运算符重载)。两种写法:
inline void Vector::Add(const Vector& in) // Adds incoming vector to this vector
或
inline Vector& Vector::Add(const Vector& in) // Adds incoming vector to this vector and returns a reference to this vector
现在如果使用Add() 而不使用返回值,编译器是否会干脆完全丢弃返回值,函数就好像一开始就没有返回值?如果不是inlined怎么办?
【问题讨论】:
标签: c++ reference return-value-optimization