【发布时间】:2011-07-18 18:28:17
【问题描述】:
导致一个block泄露的代码如下:
in = new RandomAccessFile(fileName, "r"); 在->关闭(); 内存::delObject(in);其中RandomAccessFile 是带有string 字段的类,delObject() 是静态方法,如下所示:
泄露的块是string的块。
如果我用直接的delete 替换方法delObject:
泄漏消失了。如果方法没有被替换,而是被移除:
in = new RandomAccessFile(fileName, "r"); 在->关闭(); // Mem::delObject(in); // 删除(输入);有两个泄露的块。我猜是字段和包含它的对象。
那么:为什么这两种删除对象的方式不同?
【问题讨论】:
标签: c++ memory-leaks