boost文件系统的directory_iterator中的内存泄漏

时间:2016-03-15 18:59:49

标签: c++ boost memory-leaks visual-studio-2015 boost-filesystem

我正在使用boost文件系统列出给定路径的所有文件和目录。它的简单代码如下所示:

directory_iterator iterator(path("."));
for(; iterator != directory_iterator(); ++iterator) {
    cout << iterator->path().filename() << endl;
}

它完全正常,但_CrtDumpMemoryLeaks()报告以下内存泄漏:

Detected memory leaks!
Dumping objects ->
{470} normal block at 0x03CEDED8, 8 bytes long.
 Data: <,       > 2C FD D1 00 00 00 00 00 
{394} normal block at 0x03CEE370, 8 bytes long.
 Data: <        > 04 FD D1 00 00 00 00 00 
Object dump complete.

当注释掉for循环时,泄漏仍然存在,因此directory_iterator必须以某种方式导致它们。据我所知,你不需要删除任何迭代器,那么这里可能出现什么问题呢?

PS:我在Windows 10上使用带有boost_1_60_0的Visual Studio 2015。

0 个答案:

没有答案