есть компаратор для set:
set<pair<int, int>,cmp>s;
struct cmp {
bool operator() (const pair<int, int>& a, const pair<int, int>& b) const {
int lena = a.second - a.first + 1;
int lenb = b.second - b.first + 1;
if (lena == lenb) return a.first < b.first;
return lena > lenb;
}
};
bool operator() специальное слово или можно назвать как угодно,почему он получает параметры как константы по ссылке (это специально или можно по значению)?
И зачем const в этом фрагменте?
const {
int lena = a.second - a.first + 1;
int lenb = b.second - b.first + 1;
if (lena == lenb) return a.first < b.first;
return lena > lenb;
}
P.S Я новичок в с++ .Буду благодарен за помощь.