Информация об изменениях

Сообщение Re[4]: Placement new для инициализации примитивного типа в с от 03.10.2025 12:54

Изменено 03.10.2025 12:57 rg45

Re[4]: Placement new для инициализации примитивного типа в самодельном union?
Здравствуйте, andrey.desman, Вы писали:

AD>Здравствуйте, sergii.p, Вы писали:


R>>>Если я правильно понимаю, то согласно 7.2.1/11 это UB.

SP>>так попадает же в исключения

SP>>

SP>>if T_ref is similar ([conv.qual]) to:
SP>>- a char, unsigned char, or std​::​byte type.


AD>T_ref не существует. Его сначала надо создать. Через каст не создашь.



Кстати да. Tref ведь в нашем случае — это void*&, а не std::byte.
Re[4]: Placement new для инициализации примитивного типа в с
Здравствуйте, andrey.desman, Вы писали:

AD>Здравствуйте, sergii.p, Вы писали:


R>>>Если я правильно понимаю, то согласно 7.2.1/11 это UB.

SP>>так попадает же в исключения

SP>>

SP>>if T_ref is similar ([conv.qual]) to:
SP>>- a char, unsigned char, or std​::​byte type.


AD>T_ref не существует. Его сначала надо создать. Через каст не создашь.



Кстати да. Tref ведь в нашем случае — это void*&, и он ни разу не similar to std::byte.