标签: c++ new-operator placement
请考虑以下代码:
char mem[sizeof(char)]; void* p = mem; f = new(p) char;
因为变量mem的内存应该在堆栈上 那么,为什么最终不会自动收集这块内存。
答案 0 :(得分:9)
自动收集内存。
但是不会自动调用析构函数。使用展示位置new时,应将其与手动析构函数调用配对。对于char来说,这当然不重要,因为析构函数是微不足道的。
new
char