2010-11-01 5 views

Respuesta

6
  1. Puede establecer valores a través de un iterador directo. *iter = foo; es legal en un salida iterador, pero no un iterador de entrada, mientras que un iterador directo puede leer y escribir, a menos que sea inmutable.

    const SinglelyLinkedList myList = foo(); 
    // a const container should return immutable iterators 
    SomeIterTypedef immutableIter = myList.begin(); 
    
  2. Un iterador de entrada puede envolver la salida de una función. Los iteradores de avance "se pueden usar en algoritmos de paso múltiple". Dos copias de un iterador directo deben producir los mismos resultados a menos que el contenedor subyacente cambie. Los iteradores de entrada ni siquiera tienen que estar asociados con un contenedor ... istream_iterator por ejemplo.

I destilada todo lo que de the SGI iterators page y las páginas específicas de entrada, salida y iterador hacia adelante.

Cuestiones relacionadas