收录日期:2021/01/19 06:22:04 时间:2016/07/31 12:13:24 标签:基础类
char *buf = new char[10];

我想先删除后面的5个,经过一些过程后,又删前面的5个这样不是内存不泄露吗?
我这样为什么报错
第一步 delete [] (buf+5); 这个地方会报错
buf+5 = '0';

第二步 delete [] buf;
没有这样删除的,建议去看看C或C++语法
如果你非要这么删除,你还是定义两个变量,分别分配5个字节的内存
这样你就可以任意释放其中某个了
那我再问一下
char *buf = new char[10];
如果我 buf[5] = '\0';
delete [] buf 
这样会不会内存泄露 
delete 是会找到10个还是找到第5个不是0的结束符删除
删除内存不会根据是不是\0来判断的,那是字符串操作,要分清啊
不会有内存泄露,它会把你的10个字节内存全部删除
内存的分配和删除是由OS内核来完成的,分配多少,删除多少内核中都有记录,你只需要提供一个要删除的内存指针首地址,内核会去查找时哪块内存,然后删除(准确说也不是删除,是把它从使用链表中摘除,添加到空闲链表中),这里还涉及到一个 分页表的概念,这个是操作系统用来表示内存的核心结构。

此部分内容是操作系统的核心管理部分,概念比较多,建议看看《操作系统原理》这本书中的 内存管理 章节









论坛签名======================================================================

icoomoo:你好!
截至 2011-03-29 08:57:53 前:
你已发帖 14 个, 未结贴 2 个;
结贴率为: 85.71%

当您的问题得到解答后请及时结贴.

http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html
http://topic.csdn.net/u/20100428/09/BC9E0908-F250-42A6-8765-B50A82FE186A.html
http://topic.csdn.net/u/20100626/09/f35a4763-4b59-49c3-8061-d48fdbc29561.html

如何给分和结贴?
http://community.csdn.net/Help/HelpCenter.htm#结帖

如何给自己的回帖中也加上签名?
http://blog.csdn.net/q107770540/archive/2011/03/15/6250007.aspx
该回复于2011-03-29 10:09:29被版主删除

请教一个查询语句 修改数据库中的新闻怎么选取 请问我装了.net后,我的asp文件都没法浏览了?该怎样解决? 关于 \"-- \"操作符重载 改错题! 想做一个C# Web版 HTML编辑器控件,但是没什么头绪。大家帮忙提下解决办法。 分享一款批量查询过期域名的工具! 有关 python 对邮件内容解析的问题 高分. 批处理文件的问题,就一条语句,大家看看是什么原因? 我这是不是前列腺火了? 为什么我的机器打开新浪的某个博客里面的内容都是空白的,只有左侧的一些链接,而在其他机器上能看到正在读取模版,正在读取数据的提示,然后 高分. 批处理文件的问题,就一条语句,大家看看是什么原因? 在windows 2003下安装FCKeditor上传会报错请高手指点? 在windows 2003下安装FCKeditor上传会报错 【求助】关于VB.NET中访问数据库(dataset)的一点疑问??? 用剩下的分问一个问题,cookie,application如何使用? smarty中如何将一个在php里用assign定义的变量付值给smarty中的变量?? 关于 CString 到 BYTE 的转换! 请各位高手帮忙! 有了解神州数码思特奇公司的么? 关于连接数据库的方式选择??? 数据不能通过动网dvbbs的验证?URL传的数据 cflocation标签中文参数怎么传过去啊。 Debug 里面的afxDump问题 急急急!!!!!!!! linux的中断和驱动的数据传递问题! 被猪妹、翔大忽悠,一万小忽悠 java的程序员请关注一下吧 关于Input标签的功能 请问我装了.net后,我的asp文件都没法浏览了?该怎样解决? 在线等:如何获取TMemo或TRichEdit显示区域的行数? 关于UDP的几个疑问 有没有人知道怎么在JSP页面嵌入日历的代码啊