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

std::

unordered_multimap::cend

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

返回一个指向unordered_multimap容器或其中一个桶末尾元素的下一个元素的常量迭代器

返回一个const_iterator对象,指向unordered_multimap容器(1)或其中一个桶(2)中的past-the-end元素.

cend返回的const_iterator对象不指向任何元素,而是指向unordered_multimap容器中最后一个元素之后的位置, 或者是unordered_multimap容器中某个桶的末端位置。因此, 返回值不能被解引用——它通常用于描述一个范围的开放端,例如[cbegin,cend)

注意,unordered_multimap对象不保证其元素遵循的顺序。 但是,在任何情况下,从cbegincend的范围覆盖了容器(或桶)中的所有元素,直到无效为止。

const_iterator是指向const内容的迭代器。这个迭代器可以递增或递减(除非它本身也是const),但不能用来修改它所指向的内容。

☲  参数


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

☉  返回值



返回一个指向容器(2)或桶(2)末尾元素的下一个元素的常量迭代器.

const_iteratorconst_local_iterator都是成员类型。在unordered_multimap类模板中,这些是前向迭代器类型。
Const_local_iterator是与const_iterator属于同一类别的迭代器。 它们的value_type、difference_type、指针和引用成员类型也是相同的。但是迭代器本身并不一定是相同的类型。

☣  示例



// unordered_multimap::cbegin/cend example
#include <iostream>
#include <unordered_map>

int main ()
{
  std::unordered_multimap<std::string,std::string> myumm = {
    {"apple","red"},
    {"apple","green"},
    {"orange","orange"},
    {"strawberry","red"}
  };

  std::cout << "myumm contains:";
  for ( auto it = myumm.cbegin(); it != myumm.cend(); ++it )
    std::cout << " " << it->first << ":" << it->second;  // cannot modify *it
  std::cout << std::endl;

  std::cout << "myumm's buckets contain:\n";
  for ( unsigned i = 0; i < myumm.bucket_count(); ++i) {
    std::cout << "bucket #" << i << " contains:";
    for ( auto local_it = myumm.cbegin(i); local_it!= myumm.cend(i); ++local_it )
      std::cout << " " << local_it->first << ":" << local_it->second;
    std::cout << std::endl;
  }

  return 0;
}

输出:
myumm contains: apple:red apple:green orange:orange strawberry:red
myumm's buckets contain:
bucket #0 contains:
bucket #1 contains:
bucket #2 contains: apple:red apple:green
bucket #3 contains: orange:orange
bucket #4 contains: strawberry:red

✥ 复杂度



常量

☣ 迭代器的有效性



不变

🍄  另请参阅



unordered_multimap::end 返回一个指向unordered_multimap容器或其中一个桶末尾元素的下一个元素的迭代器(公众成员函数)
unordered_multimap::cbegin 返回一个指向unordered_multimap容器或其中一个桶开头的常量迭代器(公众成员函数)

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