bool operator < (const DATA &p) const {
return p.dist > dist;
}
Il s'agit d'une surcharge de l'opérateur <
.
Vous passez DATA &p
préfixé par const
ce qui signifie p
est passé par référence et il ne peut pas être modifié ou modifié à l'intérieur de la fonction.
La fonction a commencé avec const {
signifie qu'il n'y aura pas d'écriture/modifier le fonctionnement dans la méthode.
p.dist > dist
signifie après avoir poussé dans priority_queue
, la comparaison entre les deux Data
suivront ce critère - quand Data
ayant plus petitdist
sera apparu d'abord dans la file d'attente prioritaire que Data
avec plus dist
. Cela semble contradictoire mais c'est vrai car priority_queue
est par défaut un tas maximum.
Il est appelé surcharge de l'opérateur. Il surcharge l'opérateur '<' dans le code et cette fonction est appelée quand vous faites 'a tilz0R