std::
unordered_set::cend
公众成员函数 <unordered_set>
container iterator (1) |
const_iterator cend() const noexcept;
|
bucket iterator (2) |
const_local_iterator cend ( size_type n ) const;
|
返回一个指向unordered_set容器或其中一个桶末尾元素的下一个元素的常量迭代器
返回一个
const_iterator对象,指向
unordered_set容器(1)或其中一个桶(2)中的
past-the-end元素.
由
cend返回的
const_iterator对象不指向任何元素,而是指向
unordered_set容器中最后一个元素之后的位置,
或者是
unordered_set容器中某个容器的末端位置。因此,
返回值不能被解引用——它通常用于描述一个范围的开放端,例如
[cbegin,cend)。
注意,
unordered_set对象不保证其元素遵循的顺序。
但是,在任何情况下,从
cbegin到
cend的范围覆盖了容器(或桶)中的所有元素,直到无效为止。
const_iterator是指向
const内容的迭代器。这个迭代器可以递增或递减(除非它本身也是
const),但不能用来修改它所指向的内容。
☲ 参数
-
n
-
桶数。这个值应该小于bucket_count。
它是一个可选参数,用于改变成员函数的行为:如果设置了,
则const_iterator检索到的是桶的past-the-end元素,
否则指向容器的past-the-end元素。
size_type是一种无符号整型。
☉ 返回值
返回一个指向容器(2)或桶(2)末尾元素的下一个元素的常量迭代器.
const_iterator和
const_local_iterator都是成员类型。在
unordered_set类模板中,这些是前向迭代器类型。
它们可能都是相同迭代器类型的别名。
☣ 示例
// unordered_set::cbegin/cend example
#include <iostream>
#include <string>
#include <unordered_set>
int main ()
{
std::unordered_set<std::string> myset =
{"Mercury","Venus","Earth","Mars","Jupiter","Saturn","Uranus","Neptune"};
std::cout << "myset contains:";
for ( auto it = myset.cbegin(); it != myset.cend(); ++it )
std::cout << " " << *it; // cannot modify *it
std::cout << std::endl;
std::cout << "myset's buckets contain:\n";
for ( unsigned i = 0; i < myset.bucket_count(); ++i) {
std::cout << "bucket #" << i << " contains:";
for ( auto local_it = myset.cbegin(i); local_it!= myset.cend(i); ++local_it )
std::cout << " " << *local_it;
std::cout << std::endl;
}
return 0;
} |
输出:
myset contains: Venus Jupiter Neptune Mercury Earth Uranus Saturn Mars
myset's buckets contain:
bucket #0 contains:
bucket #1 contains: Venus
bucket #2 contains: Jupiter
bucket #3 contains:
bucket #4 contains: Neptune Mercury
bucket #5 contains:
bucket #6 contains: Earth
bucket #7 contains: Uranus Saturn
bucket #8 contains: Mars
bucket #9 contains:
bucket #10 contains:
✥ 复杂度
常量
☣ 迭代器的有效性
不变
🍄 另请参阅
unordered_set::end |
返回一个指向unordered_set容器或其中一个桶末尾元素的下一个元素的迭代器(公众成员函数) |
unordered_set::cbegin |
返回一个指向unordered_set容器或其中一个桶开头的常量迭代器(公众成员函数) |