特定の値のみが含まれるように、ベクトルをフィルタリングしようとしています。
例: ベクトルに値 "abc" の要素のみが含まれていることを確認します。
現在、私は でこれを達成しようとしていremove_copy_if
ます。
std のアルゴリズムの 1 つを使用するときに、述語に追加のパラメーターを渡す方法はありますか?
std::vector<std::string> first, second;
first.push_back("abc");
first.push_back("abc");
first.push_back("def");
first.push_back("abd");
first.push_back("cde");
first.push_back("def");
std::remove_copy_if(first.begin(), first.end(), second.begin(), is_invalid);
次の関数を述語として渡したいと思っていますが、現在の値と次の値を比較するだけで終わる可能性が高いようremove_copy_if
です。
bool is_invalid(const std::string &str, const std::string &wanted)
{
return str.compare(wanted) != 0;
}
私はおそらくこれに間違ったアプローチをしていると感じているので、何か提案をいただければ幸いです!
ありがとう