0

例えば:

vector<string> strs;
strs.push_back("1");
strs.push_back("2");
strs.push_back("3");
strs.push_back("4");
strs.push_back("3");

//strs.removeAllOccurencesOfValue("3");

私はこの例を見つけました:

リンク

もっと簡単な方法はありますか?たとえば、ブーストフレームワークを使用していますか?

4

2 に答える 2

1

Scott Meyersは、効果的な STL: 標準テンプレート ライブラリの使用を改善するための 50 の具体的な方法で消去削除イディオムについて語っています。あなたのケースにぴったりのようです:

#include <algorithm>    // for std::remove

vector<string> strs;
strs.push_back("1");
strs.push_back("2");
strs.push_back("3");
strs.push_back("4");
strs.push_back("3");

strs.erase( std::remove( strs.begin(), strs.end(), "3" ), strs.end() );
于 2013-08-30T13:03:51.127 に答える