deque crbegin en C++ STL

deque::crbegin significa constant_reverse_beginner y, como sugiere el nombre, devuelve un constante_reverse_iterador que apunta al último elemento de la deque.

¿Qué es un iterador constante?
Un iterador constante no se utiliza para la modificación. Solo se utiliza para acceder a los elementos. Puede usar iteradores non_const para modificar los elementos.

Sintaxis:

dequename.crbegin()

Valor devuelto: Devuelve un const_reverse_iterator al comienzo inverso de la secuencia.

Solicitud:

Dado un deque con números en orden creciente, imprímalos en orden no creciente.
Entrada: deque{1, 2, 3, 4, 5, 6};
for (auto inversión = deque.crbegin(); inversión != deque.crend(); ++ inversión)
cout << ‘ ‘ << * inversión;

Salida : 6 5 4 3 2 1

El siguiente programa ilustra el funcionamiento de la función crbegin:

// deque::crbegin and crend
#include <deque>
#include <iostream>
using namespace std;
int main()
{
    // Declare a deque with the name numdeque
    deque<int> numdeque = { 1, 2, 3, 4, 5, 6 };
  
    // Print the deque backwards using crbegin and crend
    cout << "Printing the numdeque backwards:";
  
    for (auto rit = numdeque.crbegin(); rit != numdeque.crend(); ++rit)
        cout << ' ' << *rit;
  
    return 0;
}
Producción:

Printing the numdeque backwards: 6 5 4 3 2 1

Dado que el iterador devuelto es constante, si intentamos cambiar el valor, obtenemos un error de compilación.

// deque::crbegin and crend
#include <deque>
#include <iostream>
using namespace std;
int main()
{
    // Declare a deque with the name numdeque
    deque<int> numdeque = { 1, 2, 3, 4, 5, 6 };
  
    // Print the deque backwards using crbegin and crend
    cout << "Printing the numdeque backwards:";
  
    for (auto rit = numdeque.crbegin(); rit != numdeque.crend(); ++rit)
         *rit = 10;
  
    return 0;
}

Producción:

prog.cpp: en la función ‘int main()’:
prog.cpp:14:8: error: asignación de ubicación de solo lectura ‘rit.std::reverse_iterator<_Iterator>::operator*>()’
*rit = 10;
     ^

Publicación traducida automáticamente

Artículo escrito por Chaitanya Tyagi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *