![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Arks |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 197 Регистрация: 7.5.2006 Где: Барнаул Репутация: нет Всего: нет |
Через watches просматриваю 'i1->second' (i1 -> current -> std::vector<std::pair<int,int>,...> -> _Myptr -> second). Пишет == 1. 'n' же после присваивания == 2. |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
||||
|
||||
| Arks |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 197 Регистрация: 7.5.2006 Где: Барнаул Репутация: нет Всего: нет |
И что ты предлагаешь? Как проблему то решать?
|
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
||||
|
||||
| Arks |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 197 Регистрация: 7.5.2006 Где: Барнаул Репутация: нет Всего: нет |
Если не доверять Watch, то встаёт вопрос каким образом вообще этот весь stl отлаживать??? Связался же с ним на свою голову... |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
||||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Да не пудрите человеку мозги. Реверс-итератор чаще всего реализуется через прямой итератор на следующий элемент (current). Это нормально. А при разыменовании это учитывается. Так что просто убери i1++ перед циклом.
rbegin указывает за конец последовательности, но разыменуется в последний элемент. Это сообщение отредактировал(а) Earnest - 10.1.2007, 20:56 -------------------- ... |
|||
|
||||
| Arks |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 197 Регистрация: 7.5.2006 Где: Барнаул Репутация: нет Всего: нет |
Хех... В том то и дело, что я поставил i1++, так как значение, что было по этому итератору было откровенной блажью (по крайней мере, то что я наблюдал в watchers)- не добавлял я такого значения... Или... Т.е. то что в watchers я наблюдаю, как "i1 -> current -> std::vector<std::pair<int,int>,...> -> _Myptr -> ... ", в программе не будет использовано, а будет использовано значение следующего итератора? Так чтоли?
|
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Я же о том и говорю: current показывает на следующий элемент! В случае rbegin - за конец последовательности. Watch тебе не поможет, т.к. при разыменовании будет взят предыдущий элемент. Ну так устроены обратные итераторы.
-------------------- ... |
|||
|
||||
| PoloS |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 29.12.2006 Где: МО, г. Одинцово Репутация: 1 Всего: 5 |
Пользуйся отладочной печатью
|
|||
|
||||
| Arks |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 197 Регистрация: 7.5.2006 Где: Барнаул Репутация: нет Всего: нет |
Earnest, спасибо. Всё понял.
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |