首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在C++中检查std::vector<string>是否包含特定值

在C++中检查std::vector<string>是否包含特定值
EN

Stack Overflow用户
提问于 2011-06-08 18:57:24
回答 4查看 232.8K关注 0票数 94

有没有什么内置的函数可以告诉我我的向量是否包含某个元素。

代码语言:javascript
复制
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?
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-06-08 18:59:51

您可以按如下方式使用std::find

代码语言:javascript
复制
if (std::find(v.begin(), v.end(), "abc") != v.end())
{
  // Element in vector.
}

为了能够使用std::findinclude <algorithm>

票数 205
EN

Stack Overflow用户

发布于 2013-02-27 11:34:19

在C++11中,您可以改用std::any_of

查找数组中是否有零的示例:

代码语言:javascript
复制
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...";
票数 22
EN

Stack Overflow用户

发布于 2011-06-08 18:58:49

它在<algorithm>中,名为std::find

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6277646

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档