Данный тип не-POD T
:
auto p = new T();
::new (p) T();
/* ... */
delete p;
Это UB, правильно?
Понятно, что я непосредственно не утечка памяти, выделенной для этой первой T
(и если у нее нет косвенных членов, то я вообще ничего не пропадаю), но она никогда не разрушалась, что мне кажется великий кандидат на спонтанное уничтожение галактик, населенных разумными кошачьими существами.
Благодаря @Xeo для, гм, "вдохновляющий" этот вопрос в Lounge С++.