struct Event
{
int ObjectID{};
EnumOp Op{};
high_resolution_clock::time_point WakeUpTime{};
int TargetID{};
constexpr bool operator>(const Event& rhs) const
{
return WakeUpTime > rhs.WakeUpTime;
}
};
priority_queue<Event, vector<Event>, greater<Event>> TimerQueue;
优先级队列的默认排序方法较少。它实际上是按升序排序的,但是top返回的是最后一个元素吗?还是按降序排序(尽管较少),所以top返回第一个元素?
top
返回排名最高的元素(即优先级最高的元素)。是的,默认情况下,它使用operator <
请注意,底层容器中的元素未排序。它们是ordered,但不是升序(或降序)。