Операторы перегрузки :const vs non -const возвращаемый тип :какая разница в производительности?

Если мы перейдем к статье в Википедии об операторах C++, у нас есть в качестве примера:

Addition : a + b -> T T::operator +(const T& b) const;

Таким образом, оператор возвращает не -const типа T. Если мы посмотрим на это руководство , автор скажет, что возвращаемый тип должен быть const , чтобы избежать следующего синтаксиса:

(a+b) = c

Теперь предположим, что этот синтаксис меня не беспокоит, и считайте, что a и b — большие массивы. С точки зрения «чистой» производительности, может ли отсутствие ключевого слова const в возвращаемом типе предотвратить оптимизацию компилятора (g++ и Intel icpc с -O3 )? А если ответ "да", то почему?

9
задан Vincent 12 August 2012 в 02:14
поделиться