доступ к карте C ++ - PullRequest
       9

доступ к карте C ++

0 голосов
/ 18 октября 2011

Я пытаюсь получить доступ к значениям из ключей в std: map на C ++

. Предположим, что aObject является допустимым. Mymap имеет несколько значений.

map<myObject,int> mymap;
myObject aObject;
int value = mymap[aObject];

Нужно ли переопределять operator == для myObject?

Что произойдет, если я не переопределю его?

1 Ответ

3 голосов
/ 18 октября 2011

std::map требует, чтобы вы либо перегрузили operator< для типа ключа, либо предоставили компаратор.Оба должны реализовать строгий слабый порядок.Если вы не предоставите, ваша программа не будет компилироваться.Если вы реализуете их неправильно (т.е. не как строгий слабый порядок), вы получите результаты мусора (на самом деле я не знаю, является ли это фактически неопределенным поведением в строгом смысле).

...