std::flat_multimap<Key,T,Compare,KeyContainer,MappedContainer>::rbegin, std::flat_multimap<Key,T,Compare,KeyContainer,MappedContainer>::crbegin

来自cppreference.com

 
 
 
 
reverse_iterator rbegin() noexcept;
(1) (C++23 起)
const_reverse_iterator rbegin() const noexcept;
(2) (C++23 起)
const_reverse_iterator crbegin() const noexcept;
(3) (C++23 起)

返回指向逆向的 flat_multimap 的首元素的逆向迭代器。它对应非逆向 flat_multimap 的末元素。如果 flat_multimap 为空,那么返回的迭代器等于 rend()

range-rbegin-rend.svg

参数

(无)

返回值

指向首元素的逆向迭代器。

复杂度

常数。

注解

返回的逆向迭代器的底层迭代器尾迭代器。因此在尾迭代器失效时,返回的迭代器也会失效。

示例

#include <algorithm>
#include <iostream>
#include <string>
#include <flat_map>
 
int main()
{
    std::flat_multimap<std::string, int> map
    {
        {"█", 1},
        {"▒", 5},
        {"░", 3},
        {"▓", 7},
        {"▓", 8},
        {"░", 4},
        {"▒", 6},
        {"█", 2}
    };
 
    std::cout << "使用 const 逆向迭代器进行逆序打印:\n";
    std::for_each(map.crbegin(), map.crend(),
        [](std::pair<const std::string, int> const& e)
        {
            std::cout << "{ \"" << e.first << "\", " << e.second << " };\n";
        });
 
    map.rbegin()->second = 42; // OK: 可以修改非 const 值
//  imap.crbegin()->second = 42; // 错误: 不能修改 const 值
}

可能的输出:

使用 const 逆向迭代器进行逆序打印:
{ "▓", 8 };
{ "▓", 7 };
{ "▒", 6 };
{ "▒", 5 };
{ "░", 4 };
{ "░", 3 };
{ "█", 2 };
{ "█", 1 };

参阅

返回指向末尾的逆向迭代器
(公开成员函数)
返回指向一个容器或数组的逆向迭代器
(函数模板)