- 875 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 23:14:51 ]
- pop_backした際にiteratorが無効になるので駄目。
なので while( ! v.empty() ){ delete v.back(); v.pop_back(); } もしくは for(std::vector<Hoge*>::reverse_iterator itr = v.rbegin();itr != v.rend();++itr) delete *itr; v.clear(); もしくは std::for_each(v.rbegin(),v.rend(),boost::checkd_deleter<Hoge>()); v.clear(); あたりをどうぞ。 2番目か3番目がお勧め(3は要boost)
|

|