社区
C语言
帖子详情
new/delete 导致的内存碎片
albertjin123
2002-06-03 02:09:19
哪儿有相关的文档,FAQ呢?
...全文
105
2
打赏
收藏
new/delete 导致的内存碎片
哪儿有相关的文档,FAQ呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
school
2002-06-03
打赏
举报
回复
许多书中有。
楼上提到的两本书《windows核心编程》《thinking in C++ 》可到http://www.pcbookcn.com/
去下载。
dajian2000
2002-06-03
打赏
举报
回复
《windows核心编程〉有相关说明。
还有thinking in C++ 中介绍new /delete的相关部分。
对象池模板
使用对象池,减少
new
和
delete
的次数,提供运行效率,减少
内存
碎片
,统一管理
内存
,防止
new
和
delete
用得不当
导致
内存
泄露,对应的博客链接:http://blog.csdn.net/d704791892/article/details/40486261
C/C++
内存
管理:
new
/
delete
,operator
new
/
delete
用法详解
答:(从左往右,从上往下顺序)前3个选C:因为全局变量,静态变量或静态全局变量生命周期都是全局,都属于静态区。静态的全局的在静态区;不可修改的常量,编译好的指令在常量区。const都可以修饰局部,全局,静态变量,不改变其空间位置,只是使其不可修改。常变量也是在栈上的4,5选A:局部变量和数组都是在栈上。6,7选A:6是数组存在栈上没问题,7是数组指向的内容,他是把常量字符串的内容拷贝到数组中,数组指向的内容是在栈上.................................
malloc/free和
new
/
delete
的区别
malloc与free是C++/C语言的标准库函数,
new
/
delete
是C++的运算符。它们都可用于申请动态
内存
和释放
内存
。 对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强加于ma
C++
new
/
delete
(动态
内存
管理)
数组的长度都是预先就定好了的,不允许出现长度不确定的数组。但是在日常的使用中需要定义的数组大小往往取决于实际中数据量的多少,在这种情况下我们或许会想到分配尽可能大的空间不就行了,但是尽可能大究竟是多大呢?这个不确定可能会
导致
空间不足或者空间浪费,为了解决这个问题,便有了“动态
内存
分配”,C++便是通过
new
/
delete
来进行动态
内存
管理。
new
/
delete
vs malloc/free
malloc申请的空间没有初始化calloc会对申请空间初始化,并且初始化为0,而其他两个不会。realloc是对已经存在的空间进行调整,两种调整方式:a.直接原地调整大小 b.重新开空间,内容拷贝,释放原有空间。.........
C语言
69,373
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章