c++ - 内存泄漏测试

标签 c++ stl instruments memory-leaks

我正在使用 Instruments 对我们的产品进行内存泄漏测试。

std:stringstd::auto_ptr 对象被检测到泄漏。据我所知,这两种对象会自行释放。我想知道它们是否真的泄漏了,或者只是因为我过早停止记录而 Instruments 没有检测到它们被释放了?

Instruments 在这些类型的对象上准确吗?

最佳答案

你可以泄露一个 std::string 对象,这并不难:

int main(){
  std::string* s = new std::string();
  return 0;
}

以同样的方式你可以泄露一个auto_ptr。 std::string 将释放它包含的动态分配的字符串数组,但它不会释放自己

关于c++ - 内存泄漏测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15542170/

相关文章:

c++ - 在Windows中获得准确的堆使用情况(用于在单个进程中调试内存泄漏)

c++ - Visual Studio 2019 C++ - 未定义概念标识符

c++ - 用于删除一系列值的 STL 容器

ios - 仪器不显示能源使用水平 : it is empty

xcode - Xcode Instruments 中的类别图标

C++,错误 : Invalid use of qualified-name

c++ - 迭代 std::pair<string, some_struct >* 的 vector 时使用结构绑定(bind)

c++ - 制作一个长函数内联

c++ - 检查 std::vector 的大小是否为零

ios - PNG 图像从未解除分配