2

私はC ++の初心者です(C#から来ました)。

データの配列を関数に (ポインターとして) 渡したいと思います。

void someFunc(byte *data)
{
    // add this data to a hashmap.

    Hashtable.put(key, data)
}

このデータは、ハッシュマップ (いくつかのキー値ベースのオブジェクト) に追加されます。

C# では、渡された参照を辞書に追加するだけで完了できます。

C++ でも同じことができますか? または、データのコピーを作成し、それを保存するためにデータ構造に追加するだけですか?

いくつかのコード例でこのパターンを見たことがありますが、なぜそれが必要なのか、または特定の時期に回避できるのかどうかは 100% わかりません。

4

2 に答える 2

0

あなたの鍵がどこから来ているのかわからない...しかし、std::mapstd::unordered_mapはおそらくあなたが探しているものです。

現在、 の基礎となるデータ構造はstd::mapバイナリ ツリーですstd::unordered_mapが、 はハッシュです。

さらに、std::unordered_mapは C++ 11 標準の追加です。

于 2013-07-16T21:31:58.620 に答える