请注意,我不是要求答案.我只是好奇为什么事情有效
我需要为打印机模拟器实现一个优先级队列来进行类分配.在查看互联网上的示例之后,我注意到运算符<正在被重载以便正确排列优先级队列.
有问题的代码:java2s优先级队列示例
为什么运算符<需要重载?"<"甚至用来进行比较?实现运算符重载是否会改变队列STL的工作方式?
这个实现对我来说似乎并不直观:为什么运算符>不会被重载?一个人应该如何知道运算符<需要重载才能使priority_queue正常工作?
STL容器使用operator <默认为订购内容的容器订购内容.
您可以通过将比较仿函数传递给容器的构造函数来覆盖它,这允许您从容器对象中分离排序/排序.
可以选择运算符>,但必须选择一个运算符<,然后在任何地方使用它来保持一致性.