Jor*_*dan 1 c++ memory-leaks vector erase remove-if
我担心通过执行以下操作会遇到内存泄漏问题:
(示例代码)
class myItem //random container stuff mostly. All primatives.
{
int index;
char* name;
int val1;
int val2;
};
class vecList
{
vector< myitem* > *myVec;
void delete()
{
MyVec->erase(std::remove_if(myVec->begin(), MyVec->end(), IsMarkedToDelete), MyVec->end()); //leak here?
}
};
Run Code Online (Sandbox Code Playgroud)
如果它是一个指针,擦除不释放内存,对吗?如果我没有使用remove_if,我可以在销毁之前调用指针上的delete.在这种情况下我该怎么做?智能指针?我不想用它们重新实现所有内容,我真的不想添加boost库.
谢谢!
| 归档时间: |
|
| 查看次数: |
3830 次 |
| 最近记录: |