内存泄漏指针的C++向量

Kub*_*icz 1 c++ memory-leaks

我有一点问题,我正在使用_CrtDumpMemoryLeaks();,我看到很多内存泄漏.我以为代码如下

for (int i = 0; i < vect.size(); i++)
  delete vect[i];
vect.clear();
Run Code Online (Sandbox Code Playgroud)

会删除我想要的所有内容,我做错了什么?

PS:

vector<Osoba *> osoby;

Ser*_*eyA 7

发布的代码将正确删除向量中的所有对象.但是,我确定您的代码中还有其他路径,它们不会删除对象,而只是销毁向量.

要确保不会发生这种情况,可以将对象(而不是指针)放入向量(通常是首选方法),或者,如果需要拥有指针语义,请使用std::unique_ptrstd::shared_ptr(按此优先顺序).