5
ユーザー定義のクラスをstd::vector
に挿入してから、ソートメカニズムをオーバーロードして特定のデータメンバーを比較することができます。ただし、MyClass
に2つのデータメンバーがあり、2番目のデータメンバーにソートの「2番目のレベル」を追加する場合は、どのようにしてstd::vector<MyClass>
をソートしますか?したがって、データメンバーa
をソートし、a
が等しい場合は、データメンバーb
をソートしますか?C++ 2つのデータメンバーに基づくオブジェクトの並べ替え
a
最初にしb
を使用しますstd::tuple
を使用してカスタムコンパレータを作成しますが、あなたが比較される2つのオブジェクト上で任意のコードを実行することができます。必要な数の「レベル」を追加することができます。 –
1人のメンバーで比較するのと同じように。私は最初にそれを行う方法を学習することをお勧めします(これについては複数の質問があります)、最初に等しい場合は2番目のメンバーと比較するために書き込んだファンクタを単純に変更します。 – us2012