Home C&C++函数库 c++ 语法 程序源码 Linux C库

std::

set::find

公众成员函数  <set>
C++98
iterator find (const value_type& val) const;

获取元素迭代器

在容器中搜索一个等价于val的元素,如果找到就返回一个迭代器,否则返回一个set::end的迭代器。

如果容器的比较对象反射性返回false(即,无论元素作为参数以何种顺序传递), 则认为set中的两个元素是等效的。

☲  参数


val
要搜索的值。
成员类型value_type是容器中元素的类型,在set中定义为它的第一个模板形参(T)的别名。

☉  返回值



指向元素的迭代器(如果找到val),否则 set::end。

成员类型iterator和const_iterator是指向元素的双向迭代器类型。

☣  示例



// set::find
#include <iostream>
#include <set>

int main ()
{
  std::set<int> myset;
  std::set<int>::iterator it;

  // set some initial values:
  for (int i=1; i<=5; i++) myset.insert(i*10);    // set: 10 20 30 40 50

  it=myset.find(20);
  myset.erase (it);
  myset.erase (myset.find(40));

  std::cout << "myset contains:";
  for (it=myset.begin(); it!=myset.end(); ++it)
    std::cout << ' ' << *it;
  std::cout << '\n';

  return 0;
}

输出:
myset contains: 10 30 50

✥ 复杂度



集合大小呈对数.

☣ 迭代器的有效性



不变.

⇄ 数据竞争


访问容器(const和非const版本都不会修改容器)。
并发地访问集合的元素是安全的。

☂ 异常安全性



强保证:如果抛出异常,容器中不会有任何变化。

🍄  另请参阅



set::count 具有特定值的元素数量(公众成员函数)
set::lower_bound 返回迭代器下界(公众成员函数)
set::upper_bound 返回迭代器上界(公众成员函数)

联系我们 免责声明 关于CandCplus 网站地图