Если мы перейдем к статье в Википедии об операторах C++, у нас есть в качестве примера:
Addition : a + b -> T T::operator +(const T& b) const;
Таким образом, оператор возвращает не -const типа T. Если мы посмотрим на это руководство , автор скажет, что возвращаемый тип должен быть const , чтобы избежать следующего синтаксиса:
(a+b) = c
Теперь предположим, что этот синтаксис меня не беспокоит, и считайте, что a и b — большие массивы. С точки зрения «чистой» производительности, может ли отсутствие ключевого слова const в возвращаемом типе предотвратить оптимизацию компилятора (g++ и Intel icpc с -O3 )? А если ответ "да", то почему?