![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
rewinder |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 22.10.2004 Репутация: нет Всего: нет |
Как известно, STLport - имплементация STL, наиболее полно соответсвующая стандарту.
По адресу http://www.stlport.com/doc/debug_mode.html можно найти интересную строчку:
Меня заинтересовал выделенный фрагмент. Получается, что по стандарту нельзя использовать vector<>::iterator? Как-то странно. Кто что по этому поводу думает? Это сообщение отредактировал(а) rewinder - 22.10.2004, 10:25 |
|||
|
||||
Vaulter |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1724 Регистрация: 30.12.2002 Где: бункер Репутация: 2 Всего: 22 |
rewinder точный перевод курсива: стандарт не определяет vector::iterator, так разные реализации могут использовать различные типы для этого.
|
|||
|
||||
rewinder |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 22.10.2004 Репутация: нет Всего: нет |
Тогда как перевести весь текст полностью?
Приложения, использующие T* для хранения vector::iterator не будут скомпилированы в дебаг-моде. Этот код надо исправить, так как стандарт не определяет vector::iterator, и разные реализации могут использовать различные типы для этого. Не вижу тут никакой логики... |
|||
|
||||
Gabryael |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 11.9.2004 Репутация: 1 Всего: 1 |
Логика здесь простая - в отладочном режиме в роли vector<T>::iterator используется не T*, а какой-то класс заместитель, назначение которого упростить тебе жизнь во время отладки. Поэтому, если ты в своей программе вместо определенного Cтандартом vector<T>::iterator будешь использовать T* - нарвешься на сообщение об ошибке. В release-mode можешь использовать T*, но это есть моветон. Лучше все таки всегда и везде в качестве типа итератора использовать тип, определенный для данного контейнера. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |