C ++中的内存泄漏使用FindFile和文件句柄[关闭]

问题描述 投票:-2回答:1

我正在编写一个在Windows上移动文件的应用程序,我有一些内存泄漏。我现在无法访问代码,但我知道我忘了关闭用于使用FindFirstFile和FindNextFile迭代文件的文件句柄。这会导致内存泄漏,还是我的代码还有其他问题?我现在不能发布任何片段,但我想知道,如果这是我造成的问题。

c++ windows winapi c++11 memory-leaks
1个回答
1
投票

内存泄漏只是资源泄漏的一种特殊情况。文件句柄也是资源。所以你肯定会泄漏各种资源。

顺便说一句,你如何检查内存泄漏?

您的问题不是编写C ++代码,而是使用C ++编译器编译的C代码。 WINAPI不是C ++。要从C ++中实际使用它,必须将所有资源包装在实现RAII的类中,以便可以从C ++代码中安全地使用它们而无需担心资源泄漏。您还应该使用智能指针(std::unique_ptrstd::shared_ptr)来管理您的记忆。

© www.soinside.com 2019 - 2024. All rights reserved.