說我有兩個容器存儲指向相同的對象:從STL容器中移除元素時調用析構函數嗎?
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
中的對象的指針是一個懸掛指針?
我不想使用引用計數的指針。這個問題怎麼處理?
使用引用計數的指針。這就是他們的目的。 – Puppy 2010-07-24 18:31:54