Share via


advance (STL Samples)

Muestra cómo utilizar la función de biblioteca de (STL) plantillas estándar de avance en Visual C++.

template<class InIt, class Dist>
   void advance(
      InIt& it, 
      Dist n
   );

Comentarios

[!NOTA]

La clase y los nombres de parámetro en el prototipo no coincide con la versión del archivo de encabezado.Algunos se han modificado para mejorar la legibilidad.

la función de avance STL acepta dos parámetros:

  • IteradorInIt que conecta para avanzar.

  • Númerode Dist — de elementos para aumentar el iterador por.

Los avances de la función de avance STL que n de iterador mide el tiempo.Si el iterador es un tipo de acceso aleatorio de iterador, la función evalúa la expresión como nde iterador += *.*Si no, realiza cada incremento evaluación: ++iterator.Si el iterador es una entrada o un tipo de iteradores hacia delante, n no debe ser negativo.

Ejemplo

// Advance.cpp
// compile with: /EHsc

#pragma warning (disable:4786)
#include <iostream>
#include <string>
#include <list>

using namespace std ;

typedef list<string> STRLIST;

int main() {
    STRLIST List;
    STRLIST::iterator iList;
    STRLIST::difference_type dTheDiff;

    List.push_back("A1");
    List.push_back("B2");
    List.push_back("C3");
    List.push_back("D4");
    List.push_back("E5");
    List.push_back("F6");
    List.push_back("G7");

    // Print out the list
    iList=List.begin();
    cout << "The list is: ";
    for (int i = 0; i < 7 ; i++, iList++)
        cout << *iList  << "  ";

    // Initialize to the first element"
    iList=List.begin();
    cout << "\n\nAdvance to the 3rd element." << endl;
    advance(iList,2);
    cout << "The element is " << *iList << endl;
    dTheDiff = distance( List.begin(), iList);
}

Output

The list is: A1  B2  C3  D4  E5  F6  G7  

Advance to the 3rd element.
The element is C3

Requisitos

encabezado: <iterador>

Vea también

Conceptos

Ejemplos de biblioteca de plantillas estándar