Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/164.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++;地图比较器 < >一个C++映射,声明为: map < set<int>,int > x; mapx;_C++_Dictionary - Fatal编程技术网

C++;地图比较器 < >一个C++映射,声明为: map < set<int>,int > x; mapx;

C++;地图比较器 < >一个C++映射,声明为: map < set<int>,int > x; mapx;,c++,dictionary,C++,Dictionary,编译器使用的默认比较器函数是什么? 使用此语句的代码已成功执行,但我不确定它使用的比较器。默认情况下,这应解析为 bool operator<(const std::set<int>&, const std::set<int>&) bool运算符对于默认值,应将其解析为 bool operator<(const std::set<int>&, const std::set<int>&) bool运算符

编译器使用的默认比较器函数是什么?

使用此语句的代码已成功执行,但我不确定它使用的比较器。

默认情况下,这应解析为

bool operator<(const std::set<int>&, const std::set<int>&)

bool运算符对于默认值,应将其解析为

bool operator<(const std::set<int>&, const std::set<int>&)
bool运算符对于
std::map
,默认比较器是
std::less

std::less
使用
lhs
作为默认比较方式

在您的情况下,您最终使用:

bool operator<(std::set<int> const& lhs, std::set<int> const& rhs)
bool运算符对于
std::map
,默认比较器是
std::less

std::less
使用
lhs
作为默认比较方式

在您的情况下,您最终使用:

bool operator<(std::set<int> const& lhs, std::set<int> const& rhs)

bool操作符对于
std::map
std::set
都有一个可选的模板参数,用于定义比较类型(以及另一个用于分配器)。使用此参数,您可以使用任何比较,包括用户定义的函数

在这两种情况下,它默认为
std::less

看一下每个人的文件


对于
std::map
std::set
都有一个可选的模板参数,用于定义比较类型(以及另一个用于分配器)。使用此参数,您可以使用任何比较,包括用户定义的函数

在这两种情况下,它默认为
std::less

看一下每个人的文件

如您所见,对于
std::map
,比较器默认为
std::less
。这反过来又向前推进
,正如您可以从中看到的,对于
std::map
,比较器默认为
std::less
。这反过来又向前推进