WWW.ИСХОДНИКИ.РУ cpp.sources.ru
java.sources.ru web.sources.ru soft.sources.ru
jdbc.sources.ru asp.sources.ru api.sources.ru

  Форум на исходниках
  C / C++ / Visual C++
  STL

СПРОСИТЬ  ОТВЕТИТЬ
профайл | регистрация | faq

Автор Тема:   STL
STL_FINDER опубликован 18-01-2002 16:19 MSK   Click Here to See the Profile for STL_FINDER   Click Here to Email STL_FINDER  
Людииии...

Не доходит до меня как ентими итераторами пользоватсья... Вот к примеру есть такой лист

typedef list<int> mylist;

void foo()
{
mylist list;
mylist::iterator it;
}

как мне скажем адресоваться к N-ому члену листа, можно это сделать? В MSDN используют только операторы ++\-- и все могу ли я сделать так например(это не работает но все таки)

it=list.begin();
it+=10;//т.е. к 10-му члену обращаемся...

Flex Ferrum опубликован 18-01-2002 16:29 MSK     Click Here to See the Profile for Flex Ferrum  Click Here to Email Flex Ferrum     
Значится так. Открываем документацию по STL (например на rsdn.ru) и читаем, что итераторы бывают трех типов - однонаправленные, двунаправленные и с произвольным доступом. Так вот. Итераторы и списка (если мне не изменяет память) - максимум двунаправленные. А об индексировании определенного элемента и речи быть не может. Эта операция может быть определена только на контейнере, и к итератору не имеет никакого отношения. Отсюда вывод - хочешь произвольного доступа к элементам - пользуйся вектором. Итераторы служат для последовательного перебора элементов контейнера.
STL_FINDER опубликован 18-01-2002 17:20 MSK     Click Here to See the Profile for STL_FINDER  Click Here to Email STL_FINDER     
Спасиб. теперь все стало на свои места, теперь дошло до меня ;)

СПРОСИТЬ  ОТВЕТИТЬ
Перейти:


E-mail | WWW.ИСХОДНИКИ.RU

Powered by: Ultimate Bulletin Board, Freeware Version 5.10a
Purchase our Licensed Version- which adds many more features!
© Infopop Corporation (formerly Madrona Park, Inc.), 1998 - 2000.