Re[94]: Когда это наконец станет defined behavior?
От: so5team https://stiffstream.com
Дата: 21.08.23 13:04
Оценка:
Здравствуйте, σ, Вы писали:

S>>Оно понятно, что в C++23 появился std::start_lifetime_as, посредством которого можно сделать:

S>>
σ>alignas(T) std::byte buffer[sizeof(T)];
σ>read_some_data(buffer);
σ>const T * ptr_to_immutable_value = std::start_lifetime_as<const T>(buffer);
σ>

S>>Но в этом случае мы, по сути имеем лишь константный указатель на неконстантный объект.

σ>std::start_lifetime_as<const T> создаёт объект


Создает? Да ладно!

Он, вроде бы, к созданию объекта чуть меньше, чем никак. Это всего лишь указание компилятору считать полученный указатель валидным указателем на объект, время жизни которого было начато вне поля зрения компилятора.
Отредактировано 21.08.2023 13:05 so5team . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.