是否可以使用 std::find()
通过 1 个调用搜索多个元素?示例: std::find(vector.begin(), vector.end(), 0&&1&&D)
谢谢
原文由 Noobgineer 发布,翻译遵循 CC BY-SA 4.0 许可协议
是否可以使用 std::find()
通过 1 个调用搜索多个元素?示例: std::find(vector.begin(), vector.end(), 0&&1&&D)
谢谢
原文由 Noobgineer 发布,翻译遵循 CC BY-SA 4.0 许可协议
C++ Reference 非常清楚地说明了这一点:
” 范围内 第一个元素的迭代器,比较等于
val
。如果没有元素匹配,函数返回last
。”
所以你不能只用一个函数调用来做到这一点。
原文由 Nacho 发布,翻译遵循 CC BY-SA 3.0 许可协议
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答1.6k 阅读✓ 已解决
您不能使用
std::find
。假设0&&1&&D
是一个包含三个值的列表,并且您试图在向量中找到具有任何这些值的元素,您可以使用:std::find_if
with a predicate (a lambda may be easiest eg[](const T& x) { return x == 0 || x == 1 || x == d; }
, whereT
is whatever type yourvector
holds), orstd::find_first_of
(链接页面有一个很好的例子)。