тип ключа карты - PullRequest
       3

тип ключа карты

1 голос
/ 15 апреля 2011

Только что увидел вопрос по STL. Вопрос в том «<» не нужно перегружать, если ключ карты принадлежит к определенным типам. Что это за типы? </p>

Не совсем понял этот вопрос! Спасибо за ответ.

Ответы [ 2 ]

2 голосов
/ 15 апреля 2011

Предполагается, что для карты создается компаратор по умолчанию (т. Е. Как map<Key,Value> без третьего аргумента):

  • Встроенные числовые типы
  • Указатели
  • Любой тип, для которого std::less<Key> специализирован (если специализация не требует operator<).
  • Педантично, любой тип, который уже имеет перегрузку operator<.

Для любого другого типа ключа карта попытается сравнить их, используя выражение типа key1 < key2, которое будет компилироваться только при наличии перегрузки operator< для типа ключа.

0 голосов
/ 15 апреля 2011

В основном, примитивные типы, для которых < уже определены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...