how to delete a shared pointer value in vector
问题 I have type defined a shared pointer as : typedef shared_ptr<Myclass> Sptr; then a vector : vector<Sptr> vectr ; now I have stored several shared pointers in a vector, each is pointing to a dynamically allocated memory. now I want to delete particular element(child) in a vector(children.begin() to children.end()). ItemList::iterator it = find(children.begin(), children.end(), child); if (it != children.end()) { //delete it; it = children.erase(it); } Now children.erase(it), will this delete