相关疑难解决方法(0)

你能将附加参数传递给谓词吗?

我正在尝试过滤矢量,因此它只包含一个特定的值.

例如,确保向量仅包含值"abc"的元素.

现在,我正在努力实现这一目标remove_copy_if.

有没有办法在使用std算法之一时将附加参数传递给谓词?

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);
Run Code Online (Sandbox Code Playgroud)

我希望将以下函数作为谓词传递,但似乎更有可能最终将比较正在检查的当前值remove_copy_if和下一个.

bool is_invalid(const std::string &str, const std::string &wanted)
{
   return str.compare(wanted) != 0;
}
Run Code Online (Sandbox Code Playgroud)

我有一种感觉,我可能正在接近这个错误所以任何建议将不胜感激!

谢谢

c++ predicate

15
推荐指数
2
解决办法
8406
查看次数

标签 统计

c++ ×1

predicate ×1