C++ 如何使用std::pair作为键std::map
我想定义一个C++ 如何使用std::pair作为键std::map,c++,stl,C++,Stl,我想定义一个std::map,其键为std::pair如下 typedef std::mapmy_map 这是否允许,以及如何为此类映射编写比较运算符。是的,这是允许的 std::pair已经有了一个操作符是,这是允许的 std::pair已经有一个运算符当您。。。试试看?为什么不允许呢?如何编写< STD::MAP>代码>的比较运算符?C++平台文档如何 STD::配对< /代码>?答案就在那里。当你。。。试试看?为什么不允许呢?如何编写< STD::MAP>代码>的比较运算符?C++平台
std::map
,其键为std::pair
如下
typedef std::mapmy_map
这是否允许,以及如何为此类映射编写比较运算符。是的,这是允许的
std::pair
已经有了一个操作符是,这是允许的
std::pair
已经有一个运算符当您。。。试试看?为什么不允许呢?如何编写< <代码> STD::MAP>代码>的比较运算符?C++平台文档如何<代码> STD::配对< /代码>?答案就在那里。当你。。。试试看?为什么不允许呢?如何编写< <代码> STD::MAP>代码>的比较运算符?C++平台文档如何<代码> STD::配对< /代码>?答案就在那里。呸,你打败了我。。。现在删除我的次优答案!值得一提的是,它的定义仅用于词典比较。因此,对于一对int
s,您必须自己定义它。@visitor:没有发现任何官方信息,但是@ezdazuzena为什么这意味着您需要定义自己的int对比较?在大多数情况下,这不是你想要的int对的行为吗?@ezdazuzena它没有按字典顺序比较各个项目(你怎么能按一般方式实现呢?)。这里的意思是,它被第一个元素比较,如果第一个元素等于第二个元素。对于单个元素的比较,它使用元素“operatorBah,你打败了我。。。现在删除我的次优答案!值得一提的是,它的定义仅用于词典比较。因此,对于一对int
s,您必须自己定义它。@visitor:没有发现任何官方信息,但是@ezdazuzena为什么这意味着您需要定义自己的int对比较?在大多数情况下,这不是你想要的int对的行为吗?@ezdazuzena它没有按字典顺序比较各个项目(你怎么能按一般方式实现呢?)。在这里,词典学的意思是,它通过第一个元素进行比较,如果第一个元素与第二个元素相等。对于单个元素的比较,它使用元素“操作符