C++メモ:STL容器の循環削除
525 ワード
vectorの反復削除
mapの反復削除
vectorのこのような書き方は直感的ではありません.forサイクルの中で容器の妹紅を変えないほうがいいです.C++14で改善すべき書き方を教えてください.
vector vec;
for(auto i=vec.begin();i!=vec.end();)// i++
{
vec.erase(i);
}
mapの反復削除
map m;
for(auto i=m.begin();i!=m.end();i++)//map
{
m.erase(i);
}
vectorのこのような書き方は直感的ではありません.forサイクルの中で容器の妹紅を変えないほうがいいです.C++14で改善すべき書き方を教えてください.
auto i=remove_if(vec.begin(),vec.end(),[](const auto& v){return v==0;});
vec.erase(i,vec.end());