什么情况下要替换C++自带的new和delete

c++ - Why would one replace default new and delete operators? - Stack Overflow

  1. 用来检测用户错误,比如(1)new的时候可以记录所有new出来的地址,然后用户忘记delete时帮用户delete(2)new出地址时前后放一些记号,防止overrun和underrun
  2. 用来提高效率
  3. 用来收集统计数据,比如(1)地址分布,生存期分布,分配顺序,内存使用在时间上的变化(2)统计一个类生成了多少个对象,或者限制
  4. 补偿内存对齐
  5. 把相关的对象地址放在一起
  6. 实现非常规的行为,比如delete后设为0

转载于:https://www.cnblogs.com/fresky/archive/2012/12/28/2837044.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值