Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Kalrh
0 / 0 / 0
Регистрация: 04.12.2012
Сообщений: 8
#1

ассоциативный массив map c двумерным массивом - C++

18.05.2013, 22:26. Просмотров 819. Ответов 5
Метки нет (Все метки)

Искал информацию в интернете но безрезультатно. Необходимо сделать ассоциативный массив с со строковым ключом и двумерным массивом 3х3 в качестве значения ключа.

создаю ассоциативный массив:
C++
1
map <string,int[3][3]>  MyMap;
а как его заполнить?? (конкретно массив 3х3)

пробовал так:
C++
1
dungeon_layout["Box"]    =  {{1,1,1},{1,0,1},{1,1,1}};
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2013, 22:26     ассоциативный массив map c двумерным массивом
Посмотрите здесь:

C++ Ассоциативный контейнер типа map
ассоциативный массив MAP хранящий указатели на векторы определенной структуры C++
C++ Ввести продажи книг за 3 года, пользуясь двумерным массивом
C++ Работа с двумерным массивом - разобрать строку кода
C++ Легкая переделка для использования с двумерным массивом
Создать класс для работы с двумерным массивом вещественных чисел C++
Создать класс для работы с двумерным динамическим массивом чисел C++
Создание типа данных схожего с двумерным массивом C++
C++ Функция работы с двумерным массивом
Функции для работы с двумерным массивом: ввод, вывод, транспонирование C++
Создать класс для работы с двумерным массивом целых чисел C++
Работа с динамическим двумерным массивом C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
18.05.2013, 22:49     ассоциативный массив map c двумерным массивом #2
для начала, надо вставить элемент с помощью функции insert, а потом уже к нему обращаться.
rangerx
1920 / 1529 / 139
Регистрация: 31.05.2009
Сообщений: 2,892
18.05.2013, 23:58     ассоциативный массив map c двумерным массивом #3
Указывать массив в качестве параметра шаблона в данном случае бесполезно. Дело в том, что простые массивы нельзя присваивать друг другу, следовательно вы просто не сможете вставить в map ни одного элемента Для того чтобы это заработало, над массивом придётся писать(или использовать готовую) обёртку. При этом списки инициализации будут работать только в C++11, для С++98 придётся всё заполнять вручную.

Добавлено через 4 минуты
Цитата Сообщение от metaluga145 Посмотреть сообщение
для начала, надо вставить элемент с помощью функции insert, а потом уже к нему обращаться.
http://www.cplusplus.com/reference/map/map/operator[]
mapped_type& operator[] (const key_type& k);

If k matches the key of an element in the container, the function returns a reference to its mapped value.
If k does not match the key of any element in the container, the function inserts a new element with that key and returns a reference to its mapped value...
Kalrh
0 / 0 / 0
Регистрация: 04.12.2012
Сообщений: 8
19.05.2013, 00:31  [ТС]     ассоциативный массив map c двумерным массивом #4
Цитата Сообщение от metaluga145 Посмотреть сообщение
для начала, надо вставить элемент с помощью функции insert, а потом уже к нему обращаться.
насколько знаю, символ " = " приравнивается к операции insert, если ошибаюсь поправьте.
rangerx
1920 / 1529 / 139
Регистрация: 31.05.2009
Сообщений: 2,892
19.05.2013, 00:48     ассоциативный массив map c двумерным массивом #5
Цитата Сообщение от Kalrh Посмотреть сообщение
насколько знаю, символ " = " приравнивается к операции insert, если ошибаюсь поправьте.
Ошибаетесь. Вставку осуществляет оператор [], а не оператор присваивания(см. мой предыдущий пост).
Kalrh
0 / 0 / 0
Регистрация: 04.12.2012
Сообщений: 8
19.05.2013, 01:11  [ТС]     ассоциативный массив map c двумерным массивом #6
rangerx, благодарю.
Yandex
Объявления
19.05.2013, 01:11     ассоциативный массив map c двумерным массивом
Ответ Создать тему
Опции темы

Текущее время: 05:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru