placement new c++
//placement new in c++
char *buf = new char[sizeof(string)]; // pre-allocated buffer
string *p = new (buf) string("hi"); // placement new
string *q = new string("hi"); // ordinary heap allocation
/*Standard C++ also supports placement new operator, which constructs
an object on a pre-allocated buffer. This is useful when building a
memory pool, a garbage collector or simply when performance and exception
safety are paramount (there's no danger of allocation failure since the memory
has already been allocated, and constructing an object on a pre-allocated
buffer takes less time):
*/