| ▲ | denotational 3 hours ago | |
If the type is an implicit-lifetime type, then you can legally create an unsigned char array, and then reinterpret_cast a pointer to that to a pointer to the type. See https://eel.is/c++draft/intro.object#def:object,implicit_cre.... https://eel.is/c++draft/intro.object#15 is an example showing this with malloc; the subsequent paragraph further permits it to work with an unsigned char array. | ||
| ▲ | leni536 an hour ago | parent [-] | |
1. You still need std::launder in that case. 2. It doesn't initialize the object that is implicitly created, even if the storage has initialized chars. | ||