Форум программистов, компьютерный форум CyberForum.ru

STL List Iterator - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.91
Alexpm
3 / 3 / 0
Регистрация: 06.09.2011
Сообщений: 47
20.05.2012, 10:28     STL List Iterator #1
Как в STL list из итератора получить номер элемента, на который он указывает?
Вот пример с вектором:
C++
1
2
3
cliext::vector<int>::iterator it;
it=cliext::find(p, VEC.end(), Convert::ToInt32(textBox3->Text));
int n=it.get_bias(); //вот тут получаем номер элемента в векторе
С list'ом таким образом не получается.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.05.2012, 10:28     STL List Iterator
Посмотрите здесь:

C++ list iterator template
stl iterator обратный проход C++
C++ STL vector iterator
Разыменование итератора std::list<vector<>>::iterator C++
C++ STL, vector. iterator. как работает?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 51
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
20.05.2012, 10:32     STL List Iterator #2
C++
1
2
std::vector< int > f( 10 );
std::cout << ( f.end() - f.begin()) << std::endl;
Вот по такому принципу.
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
20.05.2012, 10:38     STL List Iterator #3
C++
1
int n = std::distance(list.begin(), it);
Правда тут сложность линейная, но для списка более оптимального способа нет.
Alexpm
3 / 3 / 0
Регистрация: 06.09.2011
Сообщений: 47
20.05.2012, 10:43  [ТС]     STL List Iterator #4
Цитата Сообщение от diagon Посмотреть сообщение
C++
1
int n = std::distance(list.begin(), it);
Правда тут сложность линейная, но для списка более оптимального способа нет.
Спасибо, работает.
Yandex
Объявления
20.05.2012, 10:43     STL List Iterator
Ответ Создать тему
Опции темы

Текущее время: 13:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru