我对在C++中删除事物感到完全困惑。如果我声明一个对象数组并使用clear()
成员函数,我能确定内存已被释放吗?
例如:
tempObject obj1;
tempObject obj2;
vector<tempObject> tempVector;
tempVector.pushback(obj1);
tempVector.pushback(obj2);
我能否安全地调用clear来释放所有内存?或者我需要逐个迭代删除?
tempVector.clear();
如果将这种情况更改为对象的指针,那么答案是否与上面相同?
vector<tempObject> *tempVector;
//push objects....
tempVector->clear();