在C++ STL中的unordered_set cend()函数
在C++ STL中,unordered_set
是一种容器,其内部存储的元素没有特定的顺序。cend()
函数是该容器的一个成员函数,其作用是返回一个指向容器中最后一个元素之后位置的迭代器。
语法
unordered_set::cend()
参数
无参数。
返回值
返回一个指向容器中最后一个元素之后位置的迭代器,即unordered_set::const_iterator
类型。
示例代码
“` c++
#include <iostream>
#include <unordered_set>
int main() {
// 创建一个 unordered_set 容器
std::unordered_set<int> s{1, 2, 3, 4, 5};
<pre><code>// 遍历元素
for (auto it = s.begin(); it != s.cend(); ++it) {
std::cout << *it << " ";
}
std::cout << std::endl;
return 0;
</code></pre>
}
“`
在上面的示例代码中,我们创建了一个unordered_set
容器,并向其中添加了5个元素。然后,我们使用迭代器遍历容器中的元素。由于使用了cend()
函数,所以迭代器只会遍历到容器中最后一个元素的后一个位置,即不会出现越界的错误。
注意事项
- 由于
cend()
函数返回的迭代器是一个常量迭代器,所以无法通过该迭代器修改容器中的元素值。 -
cend()
函数返回的迭代器指向的是容器中最后一个元素之后的位置,而不是最后一个元素的位置。因此,在使用该函数时需要注意边界情况。
结论
unordered_set
是C++ STL中常用的一个容器,而cend()
函数是该容器中的一个重要成员函数,能够帮助我们更加方便地遍历容器中的元素,同时还能保证操作的安全性。在使用时需要注意该函数返回的迭代器是一个常量迭代器,同时要注意边界情况,避免越界错误的发生。