With placement new you need to hold on to the pointer. If you need to get an object back out of a buffer you need launder.
Std::vector needs launder.