Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Общие вопросы > Неугомонный STL! |
Автор: Гость_merfi 22.8.2005, 02:33 |
Есть функция, в качестве параметра, которой передаётся указатель на map<int, double>. Так вот я хочу знать что я получу если поочереди буду читать данные из ячеек начиная с адреса в указателе. И как определить конец Map. |
Автор: chaos 22.8.2005, 06:04 |
для чего такое извращение интересно знать? ![]() |
Автор: Chaos A.D. 22.8.2005, 08:47 |
map по-моему нельзя читать непосредственно. Потому, что его реализация не определена. Это тебе не vector, где известно, что все данные идут монолитом. Для map-ов чаще всего применяются деревья, но ведь не факт. Может там слоеные списки... |
Автор: Orlan 22.8.2005, 09:25 |
То что будет прочитано зависит от реализации класса map. Вообще даже если узнать реализацию лучше так не делать - в следующей версии компилятора может быть реализовано совсем другой механизм. И тогда клюков не обсчетаешся. |
Автор: asdf 28.8.2005, 18:12 | ||
по ANSI '98 вроде допустимо обращение по такому типу:
|
Автор: Void 28.8.2005, 20:26 |
shurick Результатом разыменования итератора map является std::pair<Key, Value>. Оператор /= для него не определен. Но итерация по map, ес-но, осуществляется только так. |
Автор: asdf 29.8.2005, 18:12 | ||
Void, да, чёта я нето там сделал, значит работает такой код:
|
Автор: pablo 30.8.2005, 09:34 |
Совершенно верно, но вместо операции "точка", предпочтительнее использовать операцию "стрелка". |