кто юзает STL
народ подскажите можно ли создать map с двумя ключами, и если можно то как?
я решал эту задачу так:
1. если ключи символьные то надо просто в map в ключ писать 'ключ1'+'ключ2'
2.если ключи числовые то надо в задавать тип данных ключа по размеру больше в два раза:
byte key1=34;
byte key2=56;
DWORD key1Wkey2;
сделать из двух byte один DWORD:логическое сложение->побитовый сдвиг->и опять сложение
3.если у ключей разнае типы то надо создавать свой класс ключа
я решал эту задачу так:
1. если ключи символьные то надо просто в map в ключ писать 'ключ1'+'ключ2'
2.если ключи числовые то надо в задавать тип данных ключа по размеру больше в два раза:
byte key1=34;
byte key2=56;
DWORD key1Wkey2;
сделать из двух byte один DWORD:логическое сложение->побитовый сдвиг->и опять сложение
3.если у ключей разнае типы то надо создавать свой класс ключа
Можно значительно проще:
typedef std::pair<type_key1, type_key2> type_key;
typedef std::map<type_key, type_val> my_map;
Но вот думаю VaGon имел в виду другое, чтоб существовало два ключа, по любому из которых можно получить значение. Так?
Если да, то не проще ли использовать два map ?
Можно значительно проще:
typedef std::pair<type_key1, type_key1> type_key;
typedef std::map<type_key, type_val> my_map;
Но вот думаю VaGon имел в виду другое, чтоб существовало два ключа, по любому из которых можно получить значение. Так?
Если да, то не проще ли использовать два map ?
я сделал примерно так же, но имел ввиду я как раз то что по паре!!! ключей получить один элемент, а для того чтобы по любому из 2 ключей получать одно занчение есть multimap :)))
я сделал примерно так же, но имел ввиду я как раз то что по паре!!! ключей получить один элемент, а для того чтобы по любому из 2 ключей получать одно занчение есть multimap :)))
Позволю не согласиться, multimap нужен для получения по одному ключу нескольких значений (коллекция).
Позволю не согласиться, multimap нужен для получения по одному ключу нескольких значений (коллекция).
прошу прощения прогнал на самом деле...
но проблемы в создании нескольких ключей на один элемент в мапе нетЮ вроде бы...