假设我有两个容器存储指向相同对象的指针:
std::list<Foo*> fooList;
std::vector<Foo*> fooVec;
假设我通过以下方法从其中一个容器中删除一个对象:
std::vector<Foo*>::iterator itr =
std::find( fooVec.begin(), fooVec.end(), pToObj );
fooVec.erase( itr );
CppReference 说这调用了对象的析构函数。这是否意味着指向对象的指针fooList
是一个悬空指针?
我不想使用引用计数指针。如何处理这个问题?