布局(placement)new 操作符

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操作符分配的静态内存。

原文地址:https://www.cnblogs.com/babysunnie/p/3200944.html