Re[2]: Когда это наконец станет defined behavior?
От: σ  
Дата: 02.05.23 14:00
Оценка: +2
IM>>Из p0593, который был принят в C++20:

IM>>Однако я не нашёл в стандарте C++20 упоминания, что reinterpret_cast может начать lifetime объекта. Хотя malloc и memcpy теперь легальны с этой точки зрения, т.е. этот пропозал был включён в стандарт, но обошли reinterpret_cast.


К>lifetime начинается с момента выделения памяти под объект типа implicitly created type


Если такой объект создан. А создаётся он если это необходимо для придания программе определённого поведения.

К>а делать реинтерпрет прямо сейчас или когда угодно позже — какая разница?


Разница в том, что нужен launder вокруг reinterpret_cast. В примере в пропозале его нет. И пропозал не отменяет его необходимости.
Отредактировано 02.05.2023 14:08 σ . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.