最初に値でソートし、次に別の値でソートすることになっている次の operator< があります。
inline bool operator < (const obj& a, const obj& b)
{
if(a.field1< b.field1)
return true;
else
return a.field2 < b.field2;
}
これは正しくなく、メンバー変数に対して 3 番目の比較テストを行わないと実行できないと感じていますが、これが機能しない例は見つかりません。では、これは本当に期待どおりにソートされるのでしょうか? ありがとう
編集:私はそれを次のようにコーディングしたでしょう:
inline bool operator < (const obj& a, const obj& b)
{
if(a.field1< b.field1)
return true;
else if(a.field1> b.field1)
return false;
else
return a.field2 < b.field2;
}
違いはありますか?私の経験からは正しいが、最初のものよりも長いことを知っているので、私は尋ねています