2

のカスタムコンパレータをコーディングしたいと思いますstd::multimap。私がやりたいことは、キーが等しい場合はキーを比較してから、を比較することです。operator()構造体でオーバーロードし、関数オブジェクトをstd::multimapコンストラクターの 3 番目のパラメーターとして渡すことで、それを実行しようとしています。

struct CustomComp {
    bool operator()(int key_lhs, int key_rhs){
        if (key_lhs < key_rhs) return true;
        if (key_lhs == key_rhs) //Check values;
        else return false;
    }
};

multimap<int, int, CustomComp> myMap;

両方がintの場合、キーだけでなく値にアクセスするにはどうすればよいですか?

4

2 に答える 2