Re[105]: Когда это наконец станет defined behavior?
От: vopl Россия  
Дата: 22.08.23 16:03
Оценка:
Здравствуйте, rg45, Вы писали:

R>Здравствуйте, vopl, Вы писали:


V>>именно так, для программиста этот исход не определен заранее. Аналогично программист не знает заранее, проинлайнит ли компилятор функцию или нет. Я с этим полностью согласен, это можно называть некоей "оптимизацией". Вопрос в другом: как это утверждение может помочь по сабжу (будет объект константным или нет
Автор: σ
Дата: 16.08.23
и затем — если он константный, будет ли UB при доступе к нему на запись после конструирования)?


R>Помочь может очень легко: мы имеем полное право отвечать на эти вопросы в презумции, что NRVO не примененяется (полагаю, ответы очевидны), а применение NRVO, если таковое произошло, никак не должно повлиять на рассуждения и выводы.


Ну ок, пусть будет так. Я же останусь при мнении что нельзя считать что "NRVO не примененяется а если применяется то это не влияет на ...", так как в случае применения NRVO существуют явно наблюдаемая разница в поведении программы:
— выбрасываются побочные эффекты в конструкторе так как выбрасывается весь конструктор,
— this объекта будет одинаковый внутри функции и снаружи,
— объект будет один а не два (со всеми вытекающими)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.