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
。这反过来又向前推进