Для iterators… Он может посмотреть так на the first time, но iterators будут видом естественного. Когда вы разрешаете проблему, вы клоните думать в термины «обрабатываете все элементы от…», или математически «для всех элементов в…». Единственная обычная дорога сделать должна использовать петлю. Петля промежутка времени в языках C-семьи слишком вообще; вы имеете делаете некоторые шаги на ваши. Для петли в языках C-семьи малое синтактное улучшение промежутка времени. В других языках программирования, для петли находится подсчитанная петля. Но это также намеревается что вы должны преобразовать индекс к индексированному элементу. Из-за того, вы часто клоните положить элементы в некоторую индексированную структуру -- к блоку или к вектору.
Если вы думаете больше о ем, то вашей реально потребностью будет вид обобщенной петли той петли через все элементы контейнера без обязательно подготовлять некоторый численный индекс. Если вы воплощаете процесс, то работник говорит до другое одно «дает мне следующее одно», и не «дайте мне 3254th одно». Это точно iterators хороши для. Iterator как-то тип-прыгает к контейнеру. После этого вы можете быть заинтересованн в внутренне деталях (индексировано ли оно внутрь, или будет ли соединенной структурой). Иначе говоря, iterators приносят больше абстракции.
Несчастливо, iterators нове чем сердечником C++ и поэтому там будет никакими обобщенными петлей и синтаксисом для того чтобы сделать все это явно синтактно. Как только вы получаете используемыми улучшать sytax обобщенной петли (в других языках, как в спрятанный питон где iterators работают почти волшебно,), вы реально пропускаете тот синтаксис в C++. Новый стандарт C++ идет улучшить его бит.