C++地图比较器
C++ map comparator
对于声明如下的 c++ 映射:
map < set<int>,int > x;
编译器使用的默认比较器函数是什么?
我使用此语句的代码成功执行,但我不确定它使用的比较器。
对于std::map<K, T>
,默认比较器是 std::less<K>
。
std::less<K>
使用lhs < rhs
作为默认的比较方式。
在您的情况下,您最终会使用:
bool operator<(std::set<int> const& lhs, std::set<int> const& rhs)
默认情况下,这应该解析为
bool operator<(const std::set<int>&, const std::set<int>&)
请参阅此处以供参考。
对于std::map
和std::set
都有一个可选的模板参数来定义比较类型(另一个用于分配器)。 使用它,您可以使用任何比较,包括用户定义的函数!
在这两种情况下,它默认为 std::less
查看每个文档!!
http://www.cplusplus.com/reference/set/set/
http://www.cplusplus.com/reference/map/map/
相关文章:
- std::设置自定义比较器
- C++中"std::sort"比较器的不同类型
- 将 std::set 与基于键的比较器一起使用
- 带自定义比较器的最小优先级队列
- 函数类作为比较器
- 优先级队列自定义比较器
- 什么是自定义比较器以及如何在 C++ 的排序函数中使用它?
- 没有默认构造函数作为模板参数的自定义比较器
- set_intersection使用自定义设置比较器
- 如何为集合 c++ 建立比较器
- C++复杂情况的比较器通过参数问题
- 对于BTreeMap和其他依赖于Ord的东西,是否有等效于C++比较器对象?
- 您可以将STD :: MAP变成带有自定义比较器的无序地图吗?
- 如何以自定义类/比较器作为密钥创建地图
- STL地图 - 何时使用自定义比较器
- C++ 动态分配标准::地图比较器
- 如何为地图提供需要静态数据的比较器
- 对象的比较器运算符,用于将其存储在地图中
- 我应该为地图中的两个智能指针对制作自己的比较器吗?
- C++地图比较器