| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Как заполнить map? |
| Автор: Гость05 25.10.2005, 11:21 | ||
| Всем привет! требуется функция в которая должна заполнять передаваемый std::map<int, myClass>, что передать сам map или &map, если второе то какой синтаксис заполнения map'а должен быть, как должна будет выглядеть данная конструкция:
Спасибо. |
| Автор: Dark Elf 25.10.2005, 11:23 |
| Да по-моему так же должна выглядеть - а что именно у тебя не работает? |
| Автор: Guest 25.10.2005, 11:36 | ||||
| Dark Elf ответ в контексте вопроса несколько расплывчат если в функцию передается map то компилиться нормально, но насколько верно передавать сам map, а не ссылку на него?
так ошибка:
|
| Автор: _hunter 25.10.2005, 11:44 |
| верно передавать что мапу что ссылку на нее ( торого я у тебя не увидел ( вместо этого ты зачем то передаеш указатель... ) ) |
| Автор: Гость05 25.10.2005, 11:52 | ||
| _hunter поправте если я не прав но разве способ передачи не таков:
если все таки я передаю ссылку на map то каков синтаксис обращения к его элементам? |
| Автор: Vyacheslav 25.10.2005, 12:01 | ||||
или
|
| Автор: Plamenk 25.10.2005, 12:02 | ||
|
| Автор: pablo 25.10.2005, 12:10 | ||
Мда, на мой всгляд более просо будет с использованием пары: std::make_pair.
Вот и все чудеса. |
| Автор: Chaos A.D. 25.10.2005, 14:00 | ||||
Во всех приведенных выше кусках кода у вас ошибка. Это, конечно же, просто недосмотр, или пренебрежение, но если чувак по имени Гость05 не мог скомпилить свой код, то это может помочь. Гость05, вместо map в качестве параметра, юзай map<int, MyClass>&. А лучше указатель. Вот так :
|
| Автор: comcon1 25.10.2005, 14:31 | ||
| Да. Это раз! map - такого типа нет. сделай typedef , конкретизируй шаблон и передавай уже КОНКРЕТНЫЙ тип. А вообще, если не хотите связываться с указателями (а этого не надо делать без необходимости), то передавайте везде ссылку. То есть так
|
| Автор: _hunter 25.10.2005, 14:57 |
| почему это нет? есть он. #include <map> и поехали... тут просто терминология перепуталась -- указатель и ссылка... |
| Автор: comcon1 25.10.2005, 15:23 |
| Нет, я имел ввиду, что map - это не тип, а шаблон типа. А шаблоны нельзя указывать в качестве типов, потому что в них типы подставляются при компиляции. |
| Автор: Neitron 26.10.2005, 15:06 |
| Сейчас искать некогда. Вопрос, как через итератор получить доступ ко второму элементу мэпа? |
| Автор: pablo 26.10.2005, 15:10 |
| Итератор похож на указатель, так что если обратится "итератор->second", то получиш доступ ко 2 му елементу map-а |
| Автор: Neitron 26.10.2005, 15:17 |
| second. класс. спасибо. |