2

私は次のようなものを持っています:

map<int, StructType> map;
const map<int, StructType>& GetMap() { return map; }

私はこれらの線に沿って何かをしたいと思います:

const map<int, const StructType>& GetConstMap() { return map; }

constこの-ness をマップの値の型に追加する方法はありますか?

4

1 に答える 1

4

のインターフェイスは、その要素への非 const アクセスを決して公開しないことによって、効果的に const 値型を持つstd::mapように設計されています。const map<K,T>

const mapしたがって、参照を通じて要素を追加、削除、または変更することはできません。

そう:

struct X
{
    map<int, StructType> m;

    const map<int, StructType>& GetConstMap() const { return m; }
}

あなたが望むものです。

于 2013-04-22T20:44:50.600 に答える