Spec-Zone.ru › C++

std::multimap<Key,T,Compare,Allocator>::rbegin, std::multimap<Key,T,Compare,Allocator>::crbegin

reverse_iterator rbegin();
(1) (noexcept начиная с C++11)
const_reverse_iterator rbegin() const;
(2) (noexcept начиная с C++11)
const_reverse_iterator crbegin() const noexcept;
(3) (начиная с C++11)

Возвращает обратный итератор на первый элемент перевёрнутого multimap. Он соответствует последнему элементу неперевёрнутого multimap. Если multimap пуст, возвращаемый итератор равен rend().

Возвращаемое значение

Обратный итератор на первый элемент.

Сложность

Константная.

Примечания

Базовый итератор возвращаемого обратного итератора — это итератор конца. Поэтому возвращаемый итератор становится недействительным, если и когда становится недействительным итератор конца.

libc++ переносит crbegin() в режим C++98.

Пример

#include <algorithm>
#include <iostream>
#include <string>
#include <map>

int main()
{
    std::multimap<std::string, int> map
    {
        {"█", 1},
        {"▒", 5},
        {"░", 3},
        {"▓", 7},
        {"▓", 8},
        {"░", 4},
        {"▒", 6},
        {"█", 2}
    };

    std::cout << "Print out in reverse order using const reverse iterators:\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: non-const value is modifiable
//  map.crbegin()->second = 42; // Error: cannot modify the const value
}

Возможный вывод:

Print out in reverse order using const reverse iterators:
{ "▓", 8 };
{ "▓", 7 };
{ "▒", 6 };
{ "▒", 5 };
{ "░", 4 };
{ "░", 3 };
{ "█", 2 };
{ "█", 1 };

См. также

rendcrend
(C++11)
возвращает обратный итератор на конец
(открытая функция-член)
rbegincrbegin
(C++14)
возвращает обратный итератор на начало контейнера или массива
(шаблон функции)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/container/multimap/rbegin

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API