More Effective C++之8

条款8:了解不同意义的new和delete

普通的new先包括这么几种,new operator,这种是操作符独有的而并非可重载,它的例子是string str = new string(“test”); 如例子所示,这种new是不可以重载的。返回的是具体的对象。所不可重载的重要原因是它能调用构造函数。

operator new是一种可以重载的new;与之对应,它丧失了调用构造函数的权利,与此同时,返回的类型是void*.
与此同时,另外一种new是placement new。它的特点是在已有内存的基础上调用构造函数。

关于数组方面,new和单一对象方面类似。让我觉得不满的是,这个地方讲的不是特别详细。如果有兴趣的话,可以参见《C++编程思想》和《Inside C++ Object Model》。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值