Я читал, что стандарт C++ допускает оптимизацию до такой степени, что это может помешать ожидаемой функциональности. Когда я говорю это, я имею в виду оптимизацию возвращаемого значения, когда у вас может быть некоторая логика в конструкторе копирования, но компилятор оптимизирует вызов.
Я считаю, что это несколько плохо, поскольку тот, кто этого не знает, может потратить довольно много времени на исправление ошибки, возникшей в результате этого.
Я хочу знать, есть ли другие ситуации, когда чрезмерная оптимизация компилятора может изменить функциональность.
Например, что-то вроде:
int x = 1;
x = 1;
x = 1;
x = 1;
может быть оптимизировано до единственного x=1;
Предположим, у меня есть:
class A;
A a = b;
a = b;
a = b;
Может ли это также быть оптимизировано? Возможно, это не лучший пример, но я надеюсь, вы понимаете, что я имею в виду...