Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
SQReder
6 / 6 / 3
Регистрация: 04.07.2009
Сообщений: 50
1

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

21.04.2011, 19:53. Просмотров 3837. Ответов 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); // обработка алгоритмом
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2011, 19:53
Ответы с готовыми решениями:

На основе исходного std::vector<std::string> содержащего числа, создать std::vector<int> с этими же числами
подскажите есть вот такая задача. Есть список . Создать второй список, в...

Возможно ли создать контейнер std::map, в котором в качестве значения была бы ссылка на std::map?
Здравствуйте. Возможно ли создать контейнер std::map, в котором в качестве...

Emplace в std::map. Как добавить элемент в std::map без копирования?
здравствуйте... есть ли способ не писать так: std::map&lt;int, char&gt; ksa;...

Как передать целочисленную матрицу типа std::vector<std::vector<int> > в функцию?
Здравствуйте. Почитал на форуме, но так и не понял что я делаю не так....

Как изменять размер std::vector<std::vector>?
Здравствуйте, как нужно изменять размер std::vector&lt;std::vector&gt; например: ...

3
Ma3a
Эксперт С++
619 / 463 / 57
Регистрация: 28.01.2011
Сообщений: 605
21.04.2011, 19:58 2
В vector - да. В map - вероятно, нет, так как при добавлении элементов туда контейнер автоматически сортируется и итератор будет обходить контейнер уже в отсортированном порядке.
0
ForEveR
В астрале
Эксперт С++
7996 / 4755 / 651
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
21.04.2011, 22:16 3
Если вопрос про for_each и обход итератором - разницы нет.
0
SQReder
6 / 6 / 3
Регистрация: 04.07.2009
Сообщений: 50
21.04.2011, 22:21  [ТС] 4
Цитата Сообщение от ForEveR Посмотреть сообщение
Если вопрос про for_each и обход итератором - разницы нет.
да, ибо это одно и то-же по сути.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.04.2011, 22:21

Вывести значения std::vector<std::vector<int*> >
Подскажите, как вывести значения? const size_t row = 3; const size_t col =...

Стоит ли очищать в деструкторе std::map , std::vecotor?
У меня ещё один нубский вопрос :) Вот если в классе объявлены мапы и вектора,...

Реализация класса MyString. Стандартная библиотека, std::string, std::vector
как добавить реализацию конкатенации строк через перегрузку оператора &quot;+=&quot; в...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru