c++ - 如何在一行中检查 std::vector 中是否存在元素?

标签 c++ vector

Possible Duplicate:
How to find an item in a std::vector?

这就是我要找的:

#include <vector>
std::vector<int> foo() {
  // to create and return a vector
  return std::vector<int>();
}
void bar() {
  if (foo().has(123)) { // it's not possible now, but how?
    // do something
  }
}

换句话说,我正在寻找一种简短的语法来验证 vector 中元素的存在。而且我不想为这个 vector 引入另一个临时变量。谢谢!

最佳答案

未排序的 vector :

if (std::find(v.begin(), v.end(),value)!=v.end())
    ...

排序 vector :

if (std::binary_search(v.begin(), v.end(), value)
   ...

附:可能需要包含<algorithm>标题

关于c++ - 如何在一行中检查 std::vector 中是否存在元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3246863/

相关文章:

python - Numpy where 条件语句沿轴 0

c++ - 在 C++ 中读取、操作和写入 SQLServer DateTimeOffset 字段

c++ - 退出循环时字符串的内容发生变化

c++ - 创建 N 嵌套 for 循环

c++ - 整型/实型的模板结构特化

c++ - 当使用大于 3000 万的数据输入大小时,程序不会将数据输出到控制台

c++ - 如何创建一种变量的 vector ?

c++ - GCC 还是 MSVC,谁是正确的?

c++ - 如何按值在两个 vector 之间淡入淡出?

c - 最大 vector 值函数问题