Para ver el artículo en inglés, active la casilla Inglés. También puede ver el texto en inglés en una ventana emergente si pasa el puntero del mouse por el texto.
Traducción
Inglés

advance

 

Incrementa un iterador un número especificado de posiciones.

template<class InputIterator, class Distance>
    void advance(
        InputIterator& InIt, 
        Distance Off
   );

InIt

Iterador que se va a incrementar y que debe satisfacer los requisitos de un iterador de entrada.

Off

Tipo entero convertible en el tipo de diferencia del iterador y que especifica el número de incrementos que la posición del iterador debe avanzar.

El intervalo que se avanza debe ser no singular, donde los iteradores deben ser desreferenciables o pasar al final.

Si InputIterator cumple los requisitos de un tipo de iterador bidireccional, entonces Off puede ser negativo. Si InputIterator es una entrada o un tipo de iterador hacia delante, Off no debe ser negativo.

La función advance tiene complejidad constante cuando InputIterator cumple los requisitos de un iterador de acceso aleatorio; si no, tiene complejidad lineal y, por tanto, es potencialmente costosa.

Ejemplo

// iterator_advance.cpp
// compile with: /EHsc
#include <iterator>
#include <list>
#include <iostream>

int main( )
{
   using namespace std;
   int i;

   list<int> L;
   for ( i = 1 ; i < 9 ; ++i )  
   {
      L.push_back ( i );
   }
   list <int>::iterator L_Iter, LPOS = L.begin ( );

   cout << "The list L is: ( ";
   for ( L_Iter = L.begin( ) ; L_Iter != L.end( ); L_Iter++)
      cout << *L_Iter << " ";
   cout << ")." << endl;

   cout << "The iterator LPOS initially points to the first element: "
        << *LPOS << "." << endl;

   advance ( LPOS , 4 );
   cout << "LPOS is advanced 4 steps forward to point"
        << " to the fifth element: "
        << *LPOS << "." << endl;

   advance ( LPOS , -3 );
   cout << "LPOS is moved 3 steps back to point to the "
        << "2nd element: " << *LPOS << "." << endl;
}
La lista L es: ( 1 2 3 4 5 6 7 8 ). Inicialmente, el iterador LPOS señala al primer elemento: 1. LPOS avanza 4 pasos hacia delante para señalar al quinto elemento: 5. LPOS retrocede 3 pasos hacia atrás para señalar al segundo elemento: 2.

Requisitos

Encabezado: <iterator>

Espacio de nombres: std

Mostrar: