Здравствуйте, Aleksis, Вы писали:
A>День добрый еще раз, аноним это я
A>Большое спасибо за ответы! Получается, что в copy-конструкторах смысла особого нету, если у оптимизатора есть официальное право избегать лишнего (на его взгляд) копирования объектов. Т.е. лучше их вообще всеми силами избегать? Согласен, что пример выше несколько притянут за уши, но ситуация, когда в принципе укладывающийся в спецификацию языка код вызывает разные результаты в зависимости от конкретного компайлера, несколько пугает
Избегать их нет необходимости, если они нужны.
Другой вопрос в том, что, как уже говорилось, стандарт позволяет компилятору предполагать, что конструктор копирования
копирует объекты, а не занимается самодеятельностью. Чтобы код работал всегда так, как надо, надо всего лишь, чтобы программа соответствовала представлениям компилятора о ней