📜  C++ STL-multimap.rbegin()函数(1)

📅  最后修改于: 2023-12-03 15:29:50.475000             🧑  作者: Mango

C++ STL-multimap.rbegin()函数

介绍

multimap.rbegin()函数是C++ STL multimap容器提供的成员函数之一,它返回指向最后一个元素的反向迭代器。通过rbegin()函数可以方便地从后向前遍历multimap容器中的元素。

语法

以下是multimap.rbegin()函数的语法:

multimap<Key,T,Compare>::reverse_iterator multimap<Key,T,Compare>::rbegin() noexcept;

其中,Key表示键的类型,T表示值的类型,Compare表示键的比较函数类型。

注意:rbegin()函数是一个非常低延迟和高效的函数,可以通过noexcept关键字指定为不抛出异常,提高程序的稳定性和效率。

返回值

multimap.rbegin()函数返回指向multimap容器中最后一个元素的反向迭代器。反向迭代器是指从最后一个元素向首个元素进行迭代的迭代器。

示例

以下是一个示例,演示如何使用multimap.rbegin()函数遍历multimap容器中的元素:

#include <iostream>
#include <map>

int main()
{
    std::multimap<int,std::string> mymap;

    mymap.insert(std::pair<int,std::string>(1,"foo"));
    mymap.insert(std::pair<int,std::string>(2,"bar"));
    mymap.insert(std::pair<int,std::string>(2,"baz"));
    mymap.insert(std::pair<int,std::string>(3,"qux"));

    std::multimap<int,std::string>::reverse_iterator rit;
    for (rit = mymap.rbegin(); rit != mymap.rend(); ++rit)
    {
        std::cout << rit->first << " => " << rit->second << '\n';
    }

    return 0;
}

输出结果如下:

3 => qux
2 => baz
2 => bar
1 => foo

在上面的示例程序中,我们首先定义了一个multimap容器mymap,并向其中插入了4个元素。然后使用multimap.rbegin()函数获取一个反向迭代器rit,并用它遍历multimap容器中的元素。由于rit是一个反向迭代器,所以在遍历时会从后往前进行。最后将multimap容器中的元素依次输出。

总结

multimap.rbegin()函数是C++ STL multimap容器提供的一个非常方便的函数,可以帮助程序员轻松地从后向前遍历multimap容器中的元素。它的使用方法非常简单,但需要注意反向迭代器是从后向前遍历的。