演算子のオーバーロード
//pの小さい順にソートして同じだった時はdが小さい順にソートする struct Prince{ int d; int p; bool operator<(const Prince& right) const { return p == right.p ? d < right.d: p < right.p; } };
ソートが出来るようになって便利。もしソートする要素が同じだったときの処理も書く。
ちなみにc++からはstruct typedef と書かなくとも、 struct だけでよいらしい。
----追記----
コメントでC++にはタプルというものがありそれの比較を使うと簡単にできると教えていただいた。