nrvo в таком примитивном кейсе https://godbolt.org/z/7ecMYT Я что-то делаю не так, или при каком условии какой-нибудь компилятор вообще может сделать nrvo?
nrvo - оптимизация, подходящий формально конструктор все равно должен присутствовать
rvo тоже оптимизация, но у нее нет такого констрейнта по крайней мере у двух компиляторов из 3-х. https://godbolt.org/z/nTbx7b
Для rvo другие правила (она не опциональна). Тут про оба случая есть: https://en.cppreference.com/w/cpp/language/copy_elision
Обсуждают сегодня