KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have a class member variable like this: vector<vector<int> > m_stacks; When I populate it, I do like this: vector<int> v; v.push_back(1); v.push_back(2); m_stacks.push_back(v); vector<int> v2; v2.push_back(1); v2.push_back(2); m_stacks.push_back(v2); Now I am wondering what I should do in the class destructor to release m_stacks . I do not allocate any heap memory for it, so I am struggling if I really need to do anything. Finally I come up this - vector<vector<int> >::iterator itr = m_stacks.begin(); for ( ; itr != m_stacks.end(); ++itr) { itr->clear(); } I think this is the most I need to do, I do not need to call m_stacks.clear() . The reason is vector's destructor can automatically release the memory. But I still need the above code though, the reason is vector's destructor does not call its element's destructor. Could you confirm my call?
Tags (comma-separated)
Save Edits
Cancel