Прежде чем кто-то прыгнет и скажет Профиль перед оптимизацией!
, это просто вопрос из любопытства и проистекает из этого исходного вопроса .
Если я возвращаю по ссылке тот же объект, будет ли он оптимизирован, если не используется? Например, у меня есть 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 ()
используется без использования возвращаемого значения, компилятор просто отбросит возвращаемый результат, и функция станет такой, как если бы у нее нет возвращаемое значение для начала? А что, если это НЕ встроенный
?