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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 4.92
SQReder
 Аватар для SQReder
6 / 6 / 1
Регистрация: 04.07.2009
Сообщений: 50
#1

std::map, std::vector и порядок обхода коллекции - C++

21.04.2011, 19:53. Просмотров 3240. Ответов 3
Метки нет (Все метки)

Здравствуйте, уважаемые!
Вопрос следующий - если я сохраняю какие-то значения в map или вектор, то всегда ли я буду получать тот-же порядок, обходя контейнер итератором?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
template <class T> void func(T t);
 
// -----
std::map <int,int> map;
for (std::map <int,int> ::iterator it = map.begin(); it != map.end(); ++it); // обход итератором
for_each(map.begin(), map.end(), func); // обработка алгоритмом
 
 
// -----
std::vector <int> vector>;
 
for (unsigned int i = 0; i <= vector.size(); ++i); // обход счетчиком
for (std::vector <int> ::iterator it = vector.begin(); it != vector.end(); ++it); // обход итератором
for_each(vector.begin(), vector.end(), func); // обработка алгоритмом
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2011, 19:53     std::map, std::vector и порядок обхода коллекции
Посмотрите здесь:

allocator std::map C++
C++ std::map не компилируется
C++ vector<vector<double>> + std::sort()
Стоит ли очищать в деструкторе std::map , std::vecotor? C++
Вывести значения std::vector<std::vector<int*> > C++
Как изменять размер std::vector<std::vector>? C++
Std::map::emplace C++
C++ Std::function and std::vector
Std::vector/QVector в классе или std::vector/QVector классов? C++
C++ Как передать целочисленную матрицу типа std::vector<std::vector<int> > в функцию?
Потокобезопасность std::map::end, std::list::end C++
Std::vector<std::pair<std::vector<int>::iterator, std::vector<int>::iterator> C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ma3a
Эксперт C++
612 / 456 / 31
Регистрация: 28.01.2011
Сообщений: 605
21.04.2011, 19:58     std::map, std::vector и порядок обхода коллекции #2
В vector - да. В map - вероятно, нет, так как при добавлении элементов туда контейнер автоматически сортируется и итератор будет обходить контейнер уже в отсортированном порядке.
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
21.04.2011, 22:16     std::map, std::vector и порядок обхода коллекции #3
Если вопрос про for_each и обход итератором - разницы нет.
SQReder
 Аватар для SQReder
6 / 6 / 1
Регистрация: 04.07.2009
Сообщений: 50
21.04.2011, 22:21  [ТС]     std::map, std::vector и порядок обхода коллекции #4
Цитата Сообщение от ForEveR Посмотреть сообщение
Если вопрос про for_each и обход итератором - разницы нет.
да, ибо это одно и то-же по сути.
Yandex
Объявления
21.04.2011, 22:21     std::map, std::vector и порядок обхода коллекции
Ответ Создать тему
Опции темы

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