時々私はいくつかの醜いファンクターを書く必要があります。
lhs.date_ < rhs.date_ ||
lhs.date_ == rhs.date_ && lhs.time_ < rhs.time_ ||
lhs.date_ == rhs.date_ && lhs.time_ == rhs.time_ && lhs.id_ < rhs.id_ .....
それは本当に私を悩ませました。
だから私は次のような書き込みを避け始めました:
std::make_tuple( lhs.date_, lhs.time_, lhs.id_ ) <
std::make_tuple(rhs.date_, rhs.time_, rhs.id_ );
私はほとんど満足していますが、おそらく目的のためにタプルを使用していないことに注意してください。
このソリューションを批判できますか?
それとも良い習慣ですか?
そのような比較をどのように回避しますか?
更新:
オブジェクトのコピーを避けるために std::tie を指摘してくれてありがとう。
そして、重複した質問を指摘してくれてありがとう