Информация об изменениях

Сообщение Re: Современные компиляторы и NRVO от 01.03.2024 16:36

Изменено 01.03.2024 16:40 andrey.desman

Re: Современные компиляторы и NRVO
Здравствуйте, _NN_, Вы писали:

_NN>С другой стороны, можно всегда приводить к rvalue и получить гарантировано отсутствие копирования, правда с гарантированным перемещением, которого не будет в случае NRVO.


Если компилятор не смог NRVO, то он и так будет пытаться сделать через move (если он нормальный компилятор, конечно). Так что смысла в return std::move(...) нет.
Re: Современные компиляторы и NRVO
Здравствуйте, _NN_, Вы писали:

_NN>С другой стороны, можно всегда приводить к rvalue и получить гарантировано отсутствие копирования, правда с гарантированным перемещением, которого не будет в случае NRVO.


Если компилятор не смог NRVO, то он и так будет пытаться сделать через move (если он нормальный компилятор, конечно). Так что смысла в return std::move(...) нет если типы одинаковые.