C++内存管理

内存分配方式有3种:

(1)从静态存储区分配

(2)在栈上分配

(3)从堆上分配

malloc/free(库函数)   vs  new/delete(运算符)

new直接返回目标类型的指针,不需要显式转换,而malloc则返回void *,必须首先显式地进行目标类型转换


new的3种使用方式

(1)plain new:在失败后抛出标准异常std::bad_alloc

(2)nothrow new:不抛出异常的运算符new的形式,在失败时返回NULL

(3)placement new:在一块已经分配成功的内存上重新构造对象或者对象数组


用对象模拟指针(对付内存泄露)

思想:RAII(Resource Aquisition Is Initialization)(以对象来管理资源)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值