1. 程式人生 > >C++_佈局(placement)new操作符

C++_佈局(placement)new操作符

一般的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;
}