私は次のような地図を持っています:
std::map<A, long> myMap
この地図の順序は重要なので、私は地図がどのように順序付けられるかを理解しようとしています。このクラスのドキュメントには、内部的に、マップ内の要素は、構築に設定された特定の厳密な弱い順序付け基準に従って、低いキー値から高いキー値に並べ替えられていることがわかりましたが、これが何を意味するのかわかりません。順序を理解するために、2つのオブジェクトに対して「<」演算子を呼び出しますか?
また、初期化時に次のようにマップに構造体を渡すことができ、希望どおりに機能することも認識しています。私はそれがデフォルトで何をするのか興味があります。
struct classcomp {
bool operator() (const A& lhs, const A& rhs) const
{return lhs<rhs;}
};