placement-new ? В cppref сказано, что с С++14 адреса нестатических членов данных union'а - одинаковые.
union X
{
std::string str;
std::vector<int> vec;
~X() {}
};
...
X x = {"Hello, world"};
x.str.~basic_string();
new (&x.vec) std::vector<int>; // здесь используем x.str
...
А кстати где здесь используется x.str ?
Обсуждают сегодня