c++实现一个简单的空间配置器allocator

本文介绍了C++中如何实现一个简单的空间配置器allocator,探讨了内存分配与对象构造分离的原因,并详细解析了C++内存分配的三个层次:new/delete操作、allocator类以及operator new和placement new的使用。通过allocator,可以更灵活地管理内存和对象的生命周期。
摘要由CSDN通过智能技术生成

c++实现一个简单的空间配置器allocator


      c++中内存分配和对象构造是分开来的,内存的分配类似malloc函数在内存空间开辟一段空间,但是里面不保存任何数据。对象的构造相当于给这段空间复制。


      这么做的理由有两点:

  •       在预先分配的内存中构造对象很浪费,可能创建从不使用的对象,当实际使用预先分配的对象时,被使用的对象往往又必须重新赋以新值。
  •       如果预分配的内存必须被构造,某些类就不能使用它。(?不理解)


      C++中内存分配一般有三个层次:

  1. 使用new创建对象, delete删除对象
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值