社区
邵发的课程社区_NO_1
《C语言/C++学习指南》语法篇(从入门到精通)
帖子详情
new与delete申请内存
阿发你好
2023-01-12 15:10:50
课时名称
课时知识点
new与delete申请内存
...全文
162
回复
打赏
收藏
new与delete申请内存
课时名称课时知识点new与delete申请内存
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
C++——
内存
管理:
new
和
delete
用户通过
new
和
delete
申请
/ 释放空间时,
new
底层会调用operator
new
函数(该函数内部通过malloc实现
内存
申请
),随后调用构造函数完成初始化;
new
和malloc一样,也是在堆上
申请
的空间。注意:malloc与free、
new
与
delete
、
new
[]与
delete
[]必须匹配使用,不可混搭(如用
new
申请
的空间不能用free释放),否则可能导致
内存
泄漏或程序崩溃。在
申请
自定义类型的空间时,
new
会自动调用构造函数,
delete
会自动调用析构函数,而malloc和free不会。
new
/
delete
内存
分配操作符
C/C++的
内存
分布
new
与
delete
操作符[使用情况
new
申请
失败抛异常 操作内置类型 操作自定义类型] 底层operator
new
与operator
delete
函数
new
和
delete
的实现原理 定位
new
表达式(placement
new
) 面试题
C++ 的动态
申请
内存
new
与
delete
释放
C++内
new
运算符分配堆
内存
,
delete
运算符释放堆
内存
,等同C内malloc和free。
C++
new
和
delete
(
内存
申请
和释放
内存
)
大纲(复习) 1.介绍 1.malloc,free和
new
,
delete
区别。 a.malloc,free是C/C++的标准库函数。
new
,
delete
是c++的操作符。 b.malloc
申请
的是
内存
,严格意义不是“对象”,
new
申请
的可以理解为“对象”,
new
时会调用构造函数,返回指向该对象的指针。 c.对于class类型,必须用
new
/
delete
来创建和销毁,自动调用构造和析构函数,malloc/free无法胜任。 2.使用
new
遵循原则: a.用
new
申请
的
内存
,必须用
delete
释放。
C++ 中自主
内存
管理
new
/
delete
与 malloc/free 完全详解
项目说明1
new
和
delete
要成对使用2
new
[]和
delete
[]要成对使用不是
delete
!!!3不要混用malloc和
delete
,或
new
和free严重错误!4避免
内存
泄漏:
申请
的
内存
必须释放,否则
内存
泄漏5
申请
后立即检查返回值malloc返回 NULL,
new
可以捕捉异常6构造/析构问题malloc不负责对象构造,
new
是7自定义
new
/
delete
:可以通过重载控制
内存
分配策略(如
内存
池优化)8异常安全:尽量使用智能指针(如)避免手动管理
内存
错误。
邵发的课程社区_NO_1
1
社区成员
431
社区内容
发帖
与我相关
我的任务
邵发的课程社区_NO_1
全套Java/C语言系列教程
复制链接
扫一扫
分享
社区描述
全套Java/C语言系列教程
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章