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