new操作符的另一种变体——placement new操作符,让你能够指定要使用的位置。 要使用布局new特性时,需要包含头文件new。 eg:
#include<new>
char buffer[50];
int main()
{ char * p1, * p2;
p1=new int[20];
p2=new (buffer) int [20];
}
布局new操作符使用传递给他的地址,它不跟踪哪些内存单元已经被使用,也不查找未使用的内存块。
delete只能用于删除由new操作符分配的堆内存,而不能处理布局new操作符分配的静态内存。