LINUX.ORG.RU

Два раза перебрать map

 


0

1

Всем привет! Нужно два раза перебрать map. Вот код нужный, но не работает (зависает программа, тут сокращенно, но смысл в этом):

map <int, string> Arr;

for (auto it= Arr.begin(); it != Arr.end();) { // При тестах тут пусто у меня. }

for (auto it= Arr.begin(); it != Arr.end();) { }

Программа работает, если верхнего цикла нет.



Последнее исправление: wadic2 (всего исправлений: 1)

Ответ на: комментарий от imatveev13

Ага, упустил момент этот. Большое спасибо. Так не уверенно сказали Вы это. Вроде работает. Так нужно? :

for (auto it= Arr.begin(); it != Arr.end();) { ++it; }

for (auto it= Arr.begin(); it != Arr.end();) { ++it; }

wadic2
() автор топика
Последнее исправление: wadic2 (всего исправлений: 1)

А может нужно базовый синтаксис глянуть сначала.

Keltir
()
Ответ на: комментарий от wadic2

Просто он не хотел тебя обижать, вот и всё.

Анонимус, призывающий уважаемых господ, создающих подобные топики, покинуть форум, что-то припозднился. Он бы ответил уверенней.

WitcherGeralt ★★
()
Ответ на: комментарий от BceM_IIpuBeT

Хотел подчеркнуть, что в range-based for() мы получаем элемент контейнера, а не итератор.

Elyas ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.