jeudi 26 mars 2015

Effective clearing of vector memory


Well I am creating a vector like this



vector<Member*> emp;


Then I am creating heap objects of the member class like this



Member* memObj = new Member();


Then using push_back like this



emp.push_back(memObj);


Well after using all my functions do I have to clear the memory by iterating like this ?



for( vector<Member*>::iterator iter = emp.begin();
iter != emp.end(); )
{
Member* mem = *iter;
iter = emp.erase (iter);
delete mem;
iter++;
}


Is there any effective way other than iterating through each value? clear function calls the destructor only and it clears the values but does not free the memory..I wish to achieve polymorphism here...I am new in C++ ....please help..Thanks in advance.. :) I am not using C++11




Aucun commentaire:

Enregistrer un commentaire