📅  最后修改于: 2023-12-03 14:39:52.501000             🧑  作者: Mango
在C++ STL中, unordered_multiset
是一个无序的、可存储重复元素的容器。cend()
函数是 unordered_multiset
类模板的成员函数之一。
unordered_multiset::const_iterator cend() const noexcept;
该函数返回一个 unordered_multiset
对象的常量迭代器指针,该指针指向最后一个元素的下一个位置。
cend()
函数的作用是返回指向 unordered_multiset
对象的末尾的常量迭代器。这个迭代器指向下一个位置,因此不应该解引用这个迭代器。
无
该函数返回 const_iterator
对象,它代表着 unordered_multiset
对象中最后一个元素之后的位置。
下面的代码示例演示了使用 cend()
函数返回的常量迭代器的正确方式:
#include <iostream>
#include <unordered_set>
using namespace std;
int main() {
unordered_multiset<int> myset = {1, 2, 2, 3, 3, 3};
// 遍历 unordered_multiset 元素并输出
for (auto it = myset.cbegin(); it != myset.cend(); ++it) {
cout << *it << " ";
}
return 0;
}
代码输出:
1 2 2 3 3 3
cend()
函数返回的是常量迭代器,因此无法修改 unordered_multiset
对象中元素的值。
cend()
函数返回的迭代器指向的位置是最后一个元素之后的位置,因此不能对指向该位置的迭代器进行解引用操作。
如果尝试修改返回的常量迭代器值,那么程序会编译错误。