C++ STL中的multimap rend函数
multimap ::rend()是C++ STL中的一个内置函数,返回指向multimap容器第一个元素前面的理论元素的反向迭代器。
语法
multimap_name.rend()
参数: 该函数没有任何参数。
返回值 该函数返回一个反向迭代器,指向multimap容器的反向结尾,即指向multimap的第一个元素之前的位置。
通过multimap ::rend()返回的iterator不能被解引用。
以下两个程序示例说明了该函数
// CPP program to illustrate
// multimap::rend()
#include <iostream>
#include <map>
using namespace std;
int main()
{
multimap<char, int> sample;
// 在multimap中插入键值对
sample.insert(make_pair('a', 10));
sample.insert(make_pair('b', 20));
sample.insert(make_pair('c', 30));
sample.insert(make_pair('c', 40));
// 显示内容
for (auto it = sample.rbegin(); it != sample.rend(); it++)
cout << it->first << " = " << it->second << endl;
}
输出
c = 40
c = 30
b = 20
a = 10
程序2
// CPP program to illustrate
// multimap::rend()
#include <iostream>
#include <map>
using namespace std;
int main()
{
multimap<char, int> sample;
// 在multimap中插入键值对
sample.insert(make_pair('a', 10));
sample.insert(make_pair('b', 20));
sample.insert(make_pair('c', 30));
sample.insert(make_pair('c', 40));
// 获取指向multimap的第一个元素前面位置的迭代器
auto it = sample.rend();
// 获取指向multimap的第一个元素的迭代器
it--;
cout << it->first << " = " << it->second;
}
输出
a = 10