Этот пример на странице CPPREF неверен (содержащий UB)?C++

Программы на C++. Форум разработчиков
Anonymous
Этот пример на странице CPPREF неверен (содержащий UB)?

Сообщение Anonymous »

на https://en.cppreference.com/w/cpp/utility/launder.html, есть пример следующим образом (упрощено для краткости, комментарии):

Код: Выделить всё

struct Base
{
virtual int transmogrify();
};

struct Derived : Base
{
int transmogrify() override
{
// missing this->~Derived();?
new(this) Base;
return 2;
}
};

int Base::transmogrify()
{
// missing this->~Base();?
new(this) Derived;
return 1;
}
Является ли приведенный выше пример неверным (содержащий Ub)?

Подробнее здесь: https://stackoverflow.com/questions/796 ... taining-ub

Вернуться в «C++»