地图键的类型

时间:2011-04-15 14:52:28

标签: c++ stl

刚看到一个关于STL的问题。问题是 当地图的键属于某些类型时,“<”不需要重载。 这些类型是什么?

不太明白这个问题!谢谢你回答。

2 个答案:

答案 0 :(得分:2)

假设使用默认比较器(即map<Key,Value>没有第三个参数)实例化地图:

  • 内置数字类型
  • 指针
  • std::less<Key>已被专门化的任何类型(只要专业化不需要operator<)。
  • 迂腐地说,任何已经超载operator<
  • 的类型

对于任何其他键类型,地图将尝试使用类似key1 < key2的表达式来比较它们,只有在密钥类型存在operator<的重载时才会进行编译。

答案 1 :(得分:0)

基本上,已定义<的基本类型。