Итераторы
Итераторы
являются собой, можно сказать, указателями
на переменную. Они знают, где находится
необходимая нам переменная и могут
"добыть" её из памяти. Итераторы в
основном используются для операция с
элементами контейнеров: сортировка,
поиск, копирование и т.д. Для создание
итератора необходимо написать имя
контейнера <тип данных> :: iterator и имя
итератора.
Например,
vector
<float>::iterator begin;
string::iterator
end,cur;
Да,
да.
Строки
это тоже контейнеры;)
Теперь
что мы можем делать с итераторами.
Мы
можем получить элемент, на который они
ссылаются:
cout<<*cur<<endl;
.
Здесь
мы выводим элемент, на который указывает
cur. Как вы наверное уже поняли, оператор
* позволяет нам обращаться не к итераторы,
а к элементу
Мы
можем перейти к итераторы на следующий
элемент или даже дальше:
cur++;
// перейти к следующему элементу
cur+=10;
// <=>cur=cur+10 перейти на 10 элементов
вперед
Вот,
например, вывод всего вектора на экран:
vector
<string> test;
//как-то
его заполнили
vector<string>::iterator
cur;
for
(cur=test.begin();cur<test.end();cur++)
cout<<*cur<<endl;