📅  最后修改于: 2023-12-03 14:39:51.302000             🧑  作者: Mango
multimap
是一种关联式容器,按照键值自动排序。其crend()
成员函数用于获取multimap
的逆序迭代器的结尾,也就是最后一个元素的前一个位置。
multimap::crend()
是一个成员函数,返回multimap
类型的逆序迭代器的结尾位置。函数定义如下:
reverse_iterator crend() const noexcept;
#include <iostream>
#include <map>
using namespace std;
int main()
{
multimap<int, char> m;
m.insert(pair<int, char>(1, 'a'));
m.insert(pair<int, char>(2, 'b'));
m.insert(pair<int, char>(2, 'c'));
m.insert(pair<int, char>(3, 'd'));
m.insert(pair<int, char>(4, 'e'));
cout << "multimap contains the following elements:" << endl;
for (auto it = m.crbegin(); it != m.crend(); ++it) {
cout << (*it).first << " => " << (*it).second << endl;
}
return 0;
}
该程序创建一个multimap
实例m
,向其中插入了5个键值对。然后使用逆序迭代器遍历multimap
,打印出每一个键值对。
最终输出结果如下:
multimap contains the following elements:
4 => e
3 => d
2 => c
2 => b
1 => a
可以看到,输出结果是逆序的,因为使用的是逆序迭代器。而最后一个元素的前一个位置,也就是结尾位置,是1 => a
。