Может ли кто-нибудь уточнить, как сравниваются объекты перед вставкой в очередь приоритетов для следующего кода. Также, каково значение p (comp) в конструкторе очереди с приоритетами .. code -
#include<bits/stdc++.h>
using namespace std;
struct trainer
{ int a, int b; }
bool comp(trainer x,trainer y)
{ return x.a>y.a; }
int main(void)
{
priority_queue<trainer, vector<trainer>, function<bool(trainer,trainer)> > p(comp);
trainer x1,x2,x3;
x1.a=2;x1.b=3;
x2.a=9;x2.b=1;
x3.a=21;x3.b=22;
p.push(x2);p.push(x1);p.push(x3);
}