Biblioteca de mapas C ++ - função rend ()

Descrição

A função C ++ std::multimap::rend() retorna um iterador reverso que aponta para a extremidade reversa do multimapa, ou seja, o início do multimapa.

O iterador reverso itera na ordem reversa, por isso incrementá-los se move em direção ao início do multimapa.

Declaração

A seguir está a declaração para o cabeçalho da função std :: multimap :: rend () std :: map.

C ++ 98

reverse_iterator rend();
const_reverse_iterator rend() const;

C ++ 11

reverse_iterator rend() nothrow;
const_reverse_iterator rend() const nothrow;

Parâmetros

Nenhum

Valor de retorno

Se o objeto é qualificado constante, o método retorna um iterador reverso constante, caso contrário, um iterador reverso não constante.

Exceções

Esta função de membro nunca lança exceção.

Complexidade de tempo

Constante, ou seja, O (1)

Exemplo

O exemplo a seguir mostra o uso da função std :: multimap :: rend ().

#include <iostream>
#include <map>

using namespace std;

int main(void) {
   /* Multimap with duplicates */
   multimap<char, int> m {
            {'a', 1},
            {'a', 2},
            {'b', 3},
            {'c', 4},
            {'d', 5}
         };

   cout << "Multimap contains following elements in reverse order" << endl;

   for (auto it = m.rbegin(); it != m.rend(); ++it)
      cout << it->first << " = " << it->second << endl;

   return 0;
}

Vamos compilar e executar o programa acima, isso produzirá o seguinte resultado -

Multimap contains following elements in reverse order
d = 5
c = 4
b = 3
a = 2
a = 1