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

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

Восстановить пароль Регистрация
 
Kalrh
0 / 0 / 0
Регистрация: 04.12.2012
Сообщений: 8
18.05.2013, 22:26     ассоциативный массив map c двумерным массивом #1
Искал информацию в интернете но безрезультатно. Необходимо сделать ассоциативный массив с со строковым ключом и двумерным массивом 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}};
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
18.05.2013, 22:49     ассоциативный массив map c двумерным массивом #2
для начала, надо вставить элемент с помощью функции insert, а потом уже к нему обращаться.
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
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
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
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 двумерным массивом
Ответ Создать тему
Опции темы

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