【发布时间】:2012-04-30 14:02:42
【问题描述】:
我遇到了很多内存泄漏的问题。
CRT 在以下代码中显示泄漏,例如:
char *cmd = new char[128];
我该怎么办?
char *cmd = new char[128];
delete[] cmd;
我使用上面的代码使用 VLD(Visual Leak Debugger)启动了新项目,但它仍然说我正在泄漏。
【问题讨论】:
-
当然我毕竟删除了这个参考
-
这是哪个编译器?显示更多代码,也许这是在一个循环中,并不是所有的都被清理了
-
你使用的是微软的
_CrtDumpMemoryLeaks()吗?以我的经验,这对 C++new/delete调用并不好。因此,实际上您可能根本没有泄漏(但同样可能);) -
用
std::string怎么样? -
@Griwes:“还有,你到底为什么要使用”因为他在 C++ 中没有黑带,也不知道 std::vector,呵呵。
标签: c++ memory-leaks