Сообщение Re[3]: Интересная тема: This-pointing Classes от 26.07.2025 12:49
Изменено 26.07.2025 12:51 rg45
Re[3]: Интересная тема: This-pointing Classes
Здравствуйте, T4r4sB, Вы писали:
TB>Если ты про RVO/NRVO, то на нём это никак не должно сказываться, потому что адрес объекта не меняется. Так что даже при запрете на мув, такой код должен отлично работать:
TB>
Не должен. Это случай NRVO — перемещения МОЖЕТ не быть, но оно должно быть разрешено.
TB>Если ты про RVO/NRVO, то на нём это никак не должно сказываться, потому что адрес объекта не меняется. Так что даже при запрете на мув, такой код должен отлично работать:
TB>
TB>Unmovable foo() {
TB> Unmovable local(1, 2);
TB> local.mutate();
TB> return local;
TB>}
TB>
Не должен. Это случай NRVO — перемещения МОЖЕТ не быть, но оно должно быть разрешено.
Re[3]: Интересная тема: This-pointing Classes
Здравствуйте, T4r4sB, Вы писали:
TB>Если ты про RVO/NRVO, то на нём это никак не должно сказываться, потому что адрес объекта не меняется. Так что даже при запрете на мув, такой код должен отлично работать:
TB>
Не должен. Это случай NRVO — перемещения МОЖЕТ не случиться, но оно должно быть разрешено.
А вот RVO обязано работать, даже при запрещённом перемещении:
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);
}