new 的四种使用方法,以及特性

new负责在堆heap中找到一个足以满足要求的内存。new还有另外一种变体,被称为定位(placement) new 运算符,能够指定使用具体的内存位置。可以用这个特性来设置其内存管理章程,处理需要通过特定地址进行访问的硬件或在特定位置创建对象。

// C++ primer plus P320
#include<new>
struct chaff
{
	char dross[20];
	int slag;
};

char buffer1[50];
char buffer2[50];
int main()
{
	chaff *p1,*p2;
	int *p3,*p4;
	p1 = new chaff;
	p3 = new int;
	
	// 定位new运算符
	p2 = new (buffer1) chaff; 	// 指定使用需要使用的位置,
							  	// 即为p2指向 buffer1的内存位置
	p4 = new (buffer2) int[20];
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值