![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| nikakoi |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 176 Регистрация: 6.5.2006 Репутация: нет Всего: нет |
Добрый день.
Подскажите пожалуйста.. Чтобы из итератора получить указатель нужно наспить &(*итеротор) А в обратную сторону как сделать не знаю Никто не знает как из указателя получить итератор??? |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 16 Всего: 98 |
*итеротор (если правильно вопрос понял)
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
а если имеется в виду, что
при наличии указателя на элемент в коллекции необходимо получить итератор, указывающий на тот же элемент в коллекции, то в общем случае никак. Только через find или подобное. -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
| nikakoi |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 176 Регистрация: 6.5.2006 Репутация: нет Всего: нет |
Mayk,
угу... именно об этом говорил чтобы find использовать надо переопределять == а это еще куча кода Других вариантов точно нет? |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Точно нет - операция разыменования необратима.
Если, конечно, у тебя не вектор: тогда, поскольку гарантируется, что данные лежат непрерывным куском, можно итератор по указателю вычислить.
Нет, чтобы найти по указателю, оператор == не поможет: приличный оператор == должен сравнивать значения, а не адреса... Тут надо функтор писать для find_if. Но скорее всего, тебе надо пересмотреть дизайн, раз он к такой необходимости приводит. -------------------- ... |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |