Сообщение Re[4]: Placement new для инициализации примитивного типа в с от 03.10.2025 12:54
Изменено 04.10.2025 10:19 rg45
Re[4]: Placement new для инициализации примитивного типа в с
Здравствуйте, andrey.desman, Вы писали:
AD>Здравствуйте, sergii.p, Вы писали:
R>>>Если я правильно понимаю, то согласно 7.2.1/11 это UB.
SP>>так попадает же в исключения
SP>>
AD>T_ref не существует. Его сначала надо создать. Через каст не создашь.
Кстати да. Tref ведь в нашем случае — это void*&, и он ни разу не similar to std::byte.
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.
Re[4]: Placement new для инициализации примитивного типа в с
Здравствуйте, andrey.desman, Вы писали:
AD>Здравствуйте, sergii.p, Вы писали:
R>>>Если я правильно понимаю, то согласно 7.2.1/11 это UB.
SP>>так попадает же в исключения
SP>>
AD>T_ref не существует. Его сначала надо создать. Через каст не создашь.
Кстати да. В нашем случае std::byte — это Tobj. А Tref — это void*&, и он ни разу не similar to std::byte.
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 не существует. Его сначала надо создать. Через каст не создашь.
Кстати да. В нашем случае std::byte — это Tobj. А Tref — это void*&, и он ни разу не similar to std::byte.