我正在编写一个在Windows上移动文件的应用程序,我有一些内存泄漏。我现在无法访问代码,但我知道我忘了关闭用于使用FindFirstFile和FindNextFile迭代文件的文件句柄。这会导致内存泄漏,还是我的代码还有其他问题?我现在不能发布任何片段,但我想知道,如果这是我造成的问题。
内存泄漏只是资源泄漏的一种特殊情况。文件句柄也是资源。所以你肯定会泄漏各种资源。
顺便说一句,你如何检查内存泄漏?
您的问题不是编写C ++代码,而是使用C ++编译器编译的C代码。 WINAPI不是C ++。要从C ++中实际使用它,必须将所有资源包装在实现RAII的类中,以便可以从C ++代码中安全地使用它们而无需担心资源泄漏。您还应该使用智能指针(std::unique_ptr
和std::shared_ptr
)来管理您的记忆。