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

std::

unordered_multiset::begin

公众成员函数  <unordered_set>
container iterator (1)
      iterator begin() noexcept;
const_iterator begin() const noexcept;
bucket iterator (2)
      local_iterator begin ( size_type n );
const_local_iterator begin ( size_type n ) const;

返回迭代器的起始位置

返回指向unordered_multiset容器(1)或一个桶(2)中的第一个元素的迭代器。

注意,unordered_multiset对象不保证哪个特定元素被认为是它的第一个元素。 但是,在任何情况下,从它的beginend 的范围覆盖了容器(或桶)中的所有元素,直到失效。

unordered_multiset容器中的所有迭代器对元素都具有const访问权限 (即使那些类型没有以const_作为前缀的迭代器也是如此):元素可以插入或移除,但在容器中不能修改。

☲  参数


n
桶数。这个值应该小于bucket_count
它是一个可选参数,用于改变成员函数的行为:如果设置了,则迭代器检索到的是桶的第一个元素, 否则则指向容器的第一个元素。
size_type是一种无符号整型。

☉  返回值



指向容器(1)或桶(2)中第一个元素的迭代器。

所有返回类型(iterator、const_iterator、local_iterator和const_local_iterator)都是成员类型。 在unordered_multiset类模板中,这些是前向迭代器类型。。

☣  示例



// unordered_multiset::begin/end example
#include <iostream>
#include <string>
#include <unordered_set>

int main ()
{
  std::unordered_multiset<std::string> myums =
    {"father","mother","son","daughter","son","son"};

  std::cout << "myums contains:";
  for ( auto it = myums.begin(); it != myums.end(); ++it )
    std::cout << " " << *it;
  std::cout << std::endl;

  std::cout << "myums's buckets contain:\n";
  for ( unsigned i = 0; i < myums.bucket_count(); ++i) {
    std::cout << "bucket #" << i << " contains:";
    for ( auto local_it = myums.begin(i); local_it!= myums.end(i); ++local_it )
      std::cout << " " << *local_it;
    std::cout << std::endl;
  }

  return 0;
}

输出:
myums contains: father mother daughter son son son
myset's buckets contain:
bucket #0 contains:
bucket #1 contains: father
bucket #2 contains: mother
bucket #3 contains: daughter son son son
bucket #4 contains:
bucket #5 contains:
bucket #6 contains:

✥ 复杂度



常量

☣ 迭代器的有效性



不变

🍄  另请参阅



unordered_multiset::cbegin 返回一个指向unordered_multiset开头的常量迭代器(公众成员函数)
unordered_multiset::find 获取元素的迭代器(公众成员函数)
unordered_multiset::end 返回一个指向容器末尾元素的下一个元素的迭代器(公众成员函数)

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