Что такое Итераторы в C++?Что такое Итераторы, C++?
ответ
Итераторы - это способ перемещения коллекции объектов. Как правило, они позволяют вам последовательно обращаться к контейнеру STL (стандартной библиотеки шаблонов) способами, аналогичными доступу к классическому массиву C с указателем. Чтобы получить доступ к объекту через итератор, вы разыгрываете его как указатель на C. Чтобы получить доступ к следующему объекту в коллекции, вы используете оператор increment (++). В некоторых контейнерах есть несколько итераторов, которые позволяют вам перемещать коллекцию по-разному.
http://en.wikipedia.org/wiki/Iterator
Что-то, что позволяет пройти через все, что в массиве, один за другим.
В C++, я думаю, вы говорите о «for_each» ... Насколько я знаю, C++ на самом деле не имеет «foreach», в отличие от таких языков, как C#. Тем не менее, в стандартной библиотеке шаблонов.
Это, безусловно, больше, чем массивы, на самом деле сама цель итераторов в C++ состоит в том, чтобы абстрагироваться от самой коллекции и ее свойств, чтобы алгоритмы, касающиеся итераторов, могли быть использованы для любого типа коллекции :) –
Они представляют собой положение внутри последовательности. Само по себе они немного больше, чем любопытства, но при разыменовании они приводят к стоимости, содержащейся в последовательности в позиции, которую она представляет.
Хотя это изначально кажется довольно очевидным, на самом деле это более глубокий вопрос, чем вы можете понять. Вместе с Полом Макджоном Александр Степанов (дизайнер оригинала, для тех, кто этого не знал) недавно выпустил книгу под названием Элементы программирования (aka EOP). Полнота шестой главы этой книги посвящена именно итераторам, и совсем другая часть книги тесно связана с итераторами. Любой, кто действительно хочет знать итераторы в полной мере, может рассмотреть возможность чтения этой книги.
Предупреждение: EOP не для слабонервных. Это относительно короткий (~ 260 страниц), но довольно плотный. Говоря по опыту, ранний переход немного сбивает с толку. Моя первоначальная реакция на первую главу была более или менее «хорошо, это настолько очевидно, что ее вряд ли стоит читать. В конце концов, я начал программировать до прошлой недели!»
К счастью, я действительно изучал упражнения и пытался сделать пару - и хотя я думал о предметах как очевидные, упражнения требуют строгих доказательств. Это немного похоже на то, что его попросили доказать (в математическом смысле), что вода мокрая. Вы в конечном итоге просто нуждаетесь в том, чтобы прочитать главу пару раз, чтобы пройти мимо своего собственного предвзятого представления о том, что вы уже знаете ответы, поэтому вы можете посмотреть на реальный вопрос - что действительно означает «мокрый»; каковы основные характеристики «влажности»?
Это так, пожалуйста, примите участие, чтобы найти ответы, подобные этим. +1 – 2010-02-21 08:36:43
Спасибо за указатель на книгу, о которой я должен был знать раньше (если не читать). –
С. 80 Accelerated C++:
Итератор является значением, которое
- Определяет контейнер и элемент в контейнере
- позволяет нам исследовать значение, хранящееся в этом элементе
- обеспечивает операции для перемещения между элементами в контейнере
- Ограничивает доступные операции способами, соответствующими тому, что контейнер может эффективно обрабатывать
- 1. Что такое итераторы SCARY?
- 2. Итераторы C++, что делает! = Действительно означает?
- 3. Что такое отказобезопасные и отказоустойчивые итераторы в Java
- 4. Являются ли итераторы C++ «безопасными»?
- 5. Целые итераторы для C++
- 6. Вложенные итераторы C++
- 7. C# итераторы и указатели?
- 8. дизайн C++ итераторы
- 9. C++ итераторы и наследование
- 10. C++, полиморфизм и итераторы
- 11. итераторы категорий в C++
- 12. Итераторы контейнеров C++
- 13. C++ итераторы операции
- 14. Итераторы потоков C++
- 15. Универсальные многомерные итераторы C++
- 16. OpenMP, C++ и итераторы
- 17. C++ итераторы - странное превращение
- 18. Что такое Однопроходный Алгоритм
- 19. Что такое STL?
- 20. возвращающие итераторы C++
- 21. Итераторы в C++
- 22. C++ итераторы списка
- 23. Итераторы векторов в C++
- 24. Итераторы C++ считаются вредными?
- 25. C# IEnumerable с итераторы
- 26. Итераторы C++ в списках
- 27. C++ итераторы вопрос валидности
- 28. Что такое Objective C++?
- 29. Что такое pro * c?
- 30. Что такое SDK? (C++)
http: // stackoverflow.com/questions/1064983/different-types-of-iterators/1065528 # 1065528, http://www.sgi.com/tech/stl/Iterators.html – 2010-02-21 07:32:57
Это хороший источник информации: http: //www.cs .helsinki.fi/u/tpkarkka/alglib/k06/lectures/iterators.html – Manuel
http://www.cplusplus.com/reference/iterator/ – 7bisso