Вопрос об оптимизации в C++

Я читал, что стандарт C++ допускает оптимизацию до такой степени, что это может помешать ожидаемой функциональности. Когда я говорю это, я имею в виду оптимизацию возвращаемого значения, когда у вас может быть некоторая логика в конструкторе копирования, но компилятор оптимизирует вызов.

Я считаю, что это несколько плохо, поскольку тот, кто этого не знает, может потратить довольно много времени на исправление ошибки, возникшей в результате этого.

Я хочу знать, есть ли другие ситуации, когда чрезмерная оптимизация компилятора может изменить функциональность.

Например, что-то вроде:

int x = 1;
x = 1;
x = 1;
x = 1;

может быть оптимизировано до единственного x=1;

Предположим, у меня есть:

class A;

A a = b;
a = b;
a = b;

Может ли это также быть оптимизировано? Возможно, это не лучший пример, но я надеюсь, вы понимаете, что я имею в виду...

7
задан Luchian Grigore 22 September 2011 в 15:21
поделиться