У меня есть вопрос относительно размещения синтаксиса new
в C++. следующие два фрагмента кода функционально эквивалентны и могут использоваться взаимозаменяемо (я не имею в виду, что следует использовать второй, когда подходит первый)?
#1
T* myObj = new T();
// Do something with myObj
delete myObj;
#2
char* mem = new char[sizeof(T)];
T* myObj = new (mem) T();
// Do something with myObj
myObj->~T();
delete[] mem;
Есть ли что-то, что я должен делать особенно осторожны, когда я использую новый синтаксис размещения, подобный этому?