动态内存管理allocator类

allocator类
标准库allocator类定义在memory中,它帮助我们将内存的分配与对象的构造分离开来。可以将allocator类的用户看作一个内存管理器。

allocator<string>alloc;// alloc 管理存储string的内存
auto p=alloc.allocate(n);//allocate成员函数管理内存分配
                         //并返回一个指向分配内存的指针
alloc.construct(p,args);//construct成员函数在分配的内存上构造对象,args可以是零个或多个参数:来决定调用那个构造函数,构造函数,拷贝构造函数,移动构造函数
alloc.construct(p++);//调用默认构造函数,创建空字符串
alloc.construct(p++,10,'c');//调用接受两个参数的构造函数
alloc.construct(p++,"hi");//调用接受一个参数的构造函数
/* p++可以构造一个对象,指针指向下一个内存 */
alloc.construct(p++,move(*elment++));//调用移动构造函数
alloc.destroy(p--);//销毁创建的对象
alloc.dealloctate(p,n);//释放分配的内存
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值