我有一点问题,我正在使用_CrtDumpMemoryLeaks();,我看到很多内存泄漏.我以为代码如下
for (int i = 0; i < vect.size(); i++)
delete vect[i];
vect.clear();
Run Code Online (Sandbox Code Playgroud)
会删除我想要的所有内容,我做错了什么?
PS:
vector<Osoba *> osoby;
发布的代码将正确删除向量中的所有对象.但是,我确定您的代码中还有其他路径,它们不会删除对象,而只是销毁向量.
要确保不会发生这种情况,可以将对象(而不是指针)放入向量(通常是首选方法),或者,如果需要拥有指针语义,请使用std::unique_ptr或std::shared_ptr(按此优先顺序).
| 归档时间: |
|
| 查看次数: |
242 次 |
| 最近记录: |