C++ 内存管理

本文深入探讨了C++中各种内存管理方式,包括C风格的malloc/free,C++的new/delete,以及更高级的::operatornew和::operatordelete。同时介绍了allocator模板类的使用,展示了如何自由设计适配容器的内存分配器。

C++ memory primitive

分配释放类属可否重载
malloc()free()C函数不可
newfreeC++表达式不可
::operator new()::operator delete()C++函数可以
allocator<T>::allocator()allocator<T>::deallocator()C++标准库可自由设计以搭配任何容器

::operator new(): 全局函数

使用    :

void *p = ::operator new(512);    //分配512字节的内存空间
::operator delete(p)
//与malloc/free用法完全相同,其实底部就是调用了malloc/free

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值