vector<char*> x;
我的代码中有很多 vector 。但是,我需要删除它们以尽量减少内存使用。我知道有一个解决方案,比如使用“shared_array”,但我不允许导入任何其他库。有什么好的解决方案可以防止使用vector后内存泄漏吗?
最佳答案
在您的代码片段中,您使用的是 char 指针 vector 。我假设这些指针是通过 new 分配的,它们需要通过 delete 释放。如果 vector 超出范围,它将被释放,但所有这些 char 数组都不会被释放。您需要手动释放它们。
另一种方法是使用 std::string
, 特别是 vector<std::string>
.这样,当 vector 超出作用域时,所有的字符串都会被自动删除。
关于c++ - 如何在不导入任何库的情况下删除 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10465509/