一般的new操作符可以在堆内存分配块区域,而布局(placement)操作符可以使用指定提供的内存空间。需包含头文件<new>
可以使用这种特性来设置内存管理规程或处理需要通过特定地址进行访问的硬件。
#include <iostream>
#include <new>
using namespace std;
struct chaff{
char dross[20];
int slap;
};
char buffer1[50];
char buffer2[500];
int main(){
chaff *p1, *p2;
int *p3, *p4;
p1 = new chaff;
p3 = new int[20];
p2 = new(buffer1)chaff;
p4 = new(buffer2)int[20];
p4[1] = 4;
cout << buffer2 << endl;
return 0;
}