Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

21.04.2011, 19:53. Просмотров 3607. Ответов 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::map, std::vector и порядок обхода коллекции (C++):

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

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

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

Как передать целочисленную матрицу типа std::vector<std::vector<int> > в функцию? - C++
Здравствуйте. Почитал на форуме, но так и не понял что я делаю не так. Имеется двумерный вектор. Размера .. Нужно его передать в...

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

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

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

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

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

Передача функции указатель на элемент std::vector<std::string> - C++
Доброй ночи тем, кому не спится (или живет в другом часовом поясе:p)! Есть функция, требующая в качестве параметра указатель на...

статическая и динамическая матрица на std::array and std::vector - C++
Всем привет. Решил немного поиграться с шаблонами. Скилл чуть больше 0. Можно ли с помощью шаблонной магии подставить вместо...


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

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

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