![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
trdm |
![]()
Сообщение
#1
|
Дмитрий Трошин ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 575 Регистрация: 12.1.2008 Пользователь №: 68 Спасибо сказали: 21 раз(а) Репутация: ![]() ![]() ![]() |
Непонятки с QMap....
Казалось бы while(it != map.begin()){ гарантирует, что найдется пара с m_nomber == 1 Ан нет, нефига.... |
|
|
![]() |
rnd |
![]()
Сообщение
#2
|
Студент ![]() Группа: Участник Сообщений: 54 Регистрация: 22.7.2009 Пользователь №: 930 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
Тут нет никаких извратов, просто не забывайте, что begin() - это указатель на первый элемент, а end() - на следующий за последним.
Так принято в stl и Qt тоже Именно поэтому мы пишем
т.е. реально при последнем ++it мы уже выходим за границу контейнера, и итератор указывает за последний элемент. Если представлять себе итераторы как указатели - то все еще понятнее. Естественно, когда вы пишете
Вы просто-напросто пропустите первый элемент. |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 9.6.2025, 18:51 |