Re[3]: Интересная тема: This-pointing Classes
От: rg45 СССР  
Дата: 26.07.25 12:49
Оценка: +1
Здравствуйте, T4r4sB, Вы писали:

TB>Если ты про RVO/NRVO, то на нём это никак не должно сказываться, потому что адрес объекта не меняется. Так что даже при запрете на мув, такой код должен отлично работать:

TB>
TB>Unmovable foo() {
TB>  Unmovable local(1, 2);
TB>  local.mutate();
TB>  return local;
TB>}
TB>


Не должен. Это случай NRVO — перемещения МОЖЕТ не случиться, но оно должно быть разрешено.

А вот RVO обязано работать, даже при запрещённом перемещении:

Unmovable foo() {
  return Unmovable(1, 2);
}
--
Справедливость выше закона. А человечность выше справедливости.
Отредактировано 26.07.2025 12:51 rg45 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.