Здравствуйте, C0x, Вы писали:
C0x>Здравствуйте, watchmaker, Вы писали:
W>>Реализация вольна выбирать в каждом конкретном примере такого кода будет ли использовано copy elision или нет. Твоя программа может при использовании одного компилятора (или набора настроек компилятора) выдавать всегда "01", при использовании второго компилятора выдавать всегда "0", а при использовании третьего компилятора выдавать "01" в будни и "0" в выходные дни. Но в каждом случает это поведение полностью определено.
C0x>Из педивикии.
C0x>C0x>Неопределённое поведение (англ. undefined behaviour) — свойство некоторых языков программирования (наиболее заметно в Си), программных библиотек и аппаратного обеспечения в определённых маргинальных ситуациях выдавать результат, зависящий от реализации компилятора (библиотеки, микросхемы) и случайных параметров наподобие состояния памяти или сработавшего прерывания
C0x>Получается всетаки undefined behaviour.
не надо смотреть русскую (!) педивикию. смотри только стандарт.
в данном случае это называется implementation defined а ни как не UB