हमें erase
से पहले या बाद में हटा देना चाहिए। मेरी समझ दोनों ठीक है। क्या यह सही है?क्या हमें वेक्टर में पॉइंटर के लिए मिटाने से पहले या बाद में हटा देना चाहिए?
इसके अलावा, क्या कोई मामला है जब हम इसे मिटाते समय तत्व को हटाना नहीं चाहते हैं? मेरा मानना है कि वहां होना चाहिए, अन्यथा, erase
जिम्मेदारी लेने में खुशी होगी।
std::vector<foo*> bar;
...
for (vector<foo*>::iterator itr = bar.begin(); itr != bar.end(); itr++)
{
delete (*itr); //before OR
bar.erase(itr);
delete (*itr); //after???
}
आपका मतलब है 'std :: vector ' –
sellibitze
धन्यवाद। ठीक कर दिया। – pierrotlefou
मेरा मानना है कि आपके पास 'iter ++ 'है, अन्यथा लूप समाप्त नहीं होगा। – Naveen