Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

кто юзает STL

519
03 июля 2003 года
VaGon
134 / / 26.03.2003
народ подскажите можно ли создать map с двумя ключами, и если можно то как?
4.0K
04 июля 2003 года
aadr
3 / / 15.04.2003
Цитата:
Originally posted by VaGon
народ подскажите можно ли создать map с двумя ключами, и если можно то как?



я решал эту задачу так:
1. если ключи символьные то надо просто в map в ключ писать 'ключ1'+'ключ2'
2.если ключи числовые то надо в задавать тип данных ключа по размеру больше в два раза:
byte key1=34;
byte key2=56;
DWORD key1Wkey2;
сделать из двух byte один DWORD:логическое сложение->побитовый сдвиг->и опять сложение
3.если у ключей разнае типы то надо создавать свой класс ключа

3
04 июля 2003 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by aadr


я решал эту задачу так:
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 ?

519
04 июля 2003 года
VaGon
134 / / 26.03.2003
Цитата:
Originally posted by Green


Можно значительно проще:

typedef std::pair<type_key1, type_key1> type_key;
typedef std::map<type_key, type_val> my_map;

Но вот думаю VaGon имел в виду другое, чтоб существовало два ключа, по любому из которых можно получить значение. Так?
Если да, то не проще ли использовать два map ?


я сделал примерно так же, но имел ввиду я как раз то что по паре!!! ключей получить один элемент, а для того чтобы по любому из 2 ключей получать одно занчение есть multimap :)))

3
04 июля 2003 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by VaGon

я сделал примерно так же, но имел ввиду я как раз то что по паре!!! ключей получить один элемент, а для того чтобы по любому из 2 ключей получать одно занчение есть multimap :)))



Позволю не согласиться, multimap нужен для получения по одному ключу нескольких значений (коллекция).

519
07 июля 2003 года
VaGon
134 / / 26.03.2003
Цитата:
Originally posted by Green


Позволю не согласиться, multimap нужен для получения по одному ключу нескольких значений (коллекция).


прошу прощения прогнал на самом деле...
но проблемы в создании нескольких ключей на один элемент в мапе нетЮ вроде бы...

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог