![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Гость_merfi |
|
|||
Unregistered |
Есть функция, в качестве параметра, которой передаётся указатель на map<int, double>. Так вот я хочу знать что я получу если поочереди буду читать данные из ячеек начиная с адреса в указателе. И как определить конец Map.
|
|||
|
||||
chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 6 Всего: 44 |
для чего такое извращение интересно знать?
![]() |
|||
|
||||
Chaos A.D. |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 172 Регистрация: 16.1.2005 Где: 09 RUS Репутация: 6 Всего: 7 |
map по-моему нельзя читать непосредственно. Потому, что его реализация не определена. Это тебе не vector, где известно, что все данные идут монолитом. Для map-ов чаще всего применяются деревья, но ведь не факт. Может там слоеные списки...
--------------------
Надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума...Ken Kesey - One Flew Over The Cocoo's Nest |
|||
|
||||
Orlan |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 142 Регистрация: 10.6.2004 Где: Киев Репутация: нет Всего: 1 |
То что будет прочитано зависит от реализации класса map. Вообще даже если узнать реализацию лучше так не делать - в следующей версии компилятора может быть реализовано совсем другой механизм. И тогда клюков не обсчетаешся.
--------------------
А вы знали, что терапевт - это 1024 гигапевта или 1048576 мегапевтов |
|||
|
||||
asdf |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 144 Регистрация: 27.8.2004 Где: Кишинёвъ Репутация: нет Всего: 11 |
по ANSI '98 вроде допустимо обращение по такому типу:
--------------------
... |
|||
|
||||
Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 40 Всего: 173 |
shurick
Результатом разыменования итератора map является std::pair<Key, Value>. Оператор /= для него не определен. Но итерация по map, ес-но, осуществляется только так. Это сообщение отредактировал(а) Void - 28.8.2005, 20:28 -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
asdf |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 144 Регистрация: 27.8.2004 Где: Кишинёвъ Репутация: нет Всего: 11 |
Void, да, чёта я нето там сделал,
значит работает такой код:
Это сообщение отредактировал(а) shurick - 29.8.2005, 18:14 --------------------
... |
|||
|
||||
pablo |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 320 Регистрация: 12.2.2005 Где: Вильнюс, Литва Репутация: 4 Всего: 6 |
Совершенно верно, но вместо операции "точка", предпочтительнее использовать операцию "стрелка".
-------------------- Первый блин всегда похож на сферу, иногда бывает и куб. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |