"不new往哪儿漏" 之左见

zhaoyangqing 2004-03-10 08:44:11
近日 小可一段代码 以内存是否泄漏 相问,某君之"不new往哪儿漏"恕不敢苟同,小生曾经 在VC上遇到内存泄漏 问题 ,但和new毫无关系,实际上很多windows中的内核存在很多内存泄漏隐患。但是由于没有new的彰显,极易忽略。小生 一介菜鸟,纯属 抛砖之说,希望大师 多多赐教一些内存泄漏 案例!
...全文
38 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yhbttfile 2004-03-21
  • 打赏
  • 举报
回复
楼主只说的是内存泄漏。你把内存泄漏解释一下?
void xxx()
{
file ft = open(...);
... // 始终没有关闭ft
}
是内存泄漏?但这个问题中的确是存在内存泄漏的,因为文件句柄(和记录相关上下文信息的结构)在系统资源中的确要占用内存,主要问题是占用了资源(除内存外的,如文件描述符个数、SOCKET文件描述符个数)。如果是打开一个只允许串行资源,那问题更严重了。
Wolf0403 2004-03-21
  • 打赏
  • 举报
回复
Windows 资源我记得在进程(Process)退出的时候是可以退出的。
xzygod 2004-03-21
  • 打赏
  • 举报
回复
window下各种资源都会泄漏,而且是全局的,线程退出也不会释放
merlinran 2004-03-21
  • 打赏
  • 举报
回复
leebuilder(建筑者):
你的例子没有说服力。因为strstream.str()返回的东西,如果需要delete,那必然是new出来的。

而且,你两次调用strstream::str(),却只delete了一次,有点让人费解啊。

再说一句,在标准库中的string,其c_str()得到的字符指针是不用delete的。如果得到个东西,非得仔细判断是不是要delete它,那迟早会出问题。

24,856

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧