Per i iterators… Può esaminare non così la prima volta, ma i iterators sono un genere di più naturale. Quando risolvete un problema, tendete a pensare nei termini “procedate tutti gli elementi da…„, o matematicamente “per tutti gli elementi in…„. L'unico senso convenzionale fare che è di usare un ciclo. Il ciclo di istante nelle lingue della C-famiglia è troppo generale; avete fate alcuni punti sui vostri propri. Per il ciclo nelle lingue della C-famiglia è un piccolo miglioramento sintattico dell'istante. In altri linguaggi di programmazione, per il ciclo è un ciclo contato. Ma questo inoltre significa che dovete trasformare un indice all'elemento spostato ad incrementi. A causa di quello, tendete spesso a mettere gli elementi in una certa struttura spostata ad incrementi -- ad un allineamento o ad un vettore.
Se pensate di più a questo proposito, che cosa il vostro realmente bisogno è un genere di ciclo generalizzato quel cicli attraverso tutti gli elementi di un contenitore senza necessariamente preparare un certo indice numerico. Se personificate il processo, l'operaio dice a altro “mi dà quello seguente„ e non “darmi quello 3254th„. Ciò è esattamente che cosa i iterators sono buoni per. Il iterator è in qualche modo tipo-limita al contenitore. Allora potete essere non interessato in dettaglio interni (se è spostato ad incrementi all'interno, o se è una struttura collegata). Cioè i iterators portano la più astrazione.
Purtroppo, i iterators sono più nuovi di il centro di C++ e quindi là è ciclo e sintassi generalizzati per fare sintatticamente tutti di questo più apparente. Una volta che abituate il migliore sytax del ciclo generalizzato (in altre lingue, come nel pitone in cui i iterators funzionano quasi magico, nascosto), realmente mancate quella sintassi in C++. Il nuovo campione di C++ sta andando migliorarlo una punta.