有没有什么内置的函数可以告诉我我的向量是否包含某个元素。
std::vector<string> v;
v.push_back("abc");
v.push_back("xyz");
if (v.contains("abc")) // I am looking for one such feature, is there any
// such function or i need to loop through whole vector?
发布于 2011-06-08 18:59:51
您可以按如下方式使用std::find
:
if (std::find(v.begin(), v.end(), "abc") != v.end())
{
// Element in vector.
}
为了能够使用std::find
:include <algorithm>
。
发布于 2013-02-27 11:34:19
在C++11中,您可以改用std::any_of
。
查找数组中是否有零的示例:
std::array<int,3> foo = {0,1,-1};
if ( std::any_of(foo.begin(), foo.end(), [](int i){return i==0;}) )
std::cout << "zero found...";
发布于 2011-06-08 18:58:49
它在<algorithm>
中,名为std::find
。
https://stackoverflow.com/questions/6277646
复制相似问题