私は問題が挿入がないのポインタを比較するためにhash_mapで、このような配列を維持することですが、私はこのコンテナの静的配列を保持することは可能ですか?
ようにしようとすると、配列std::vector<int*> vector;
しかし
std::vector<int[]> vector;
上のポインタを保持していない意味
std::hash_map<std::vector<BYTE>,std::string> xxx
エラーが発生しました。
私は問題が挿入がないのポインタを比較するためにhash_mapで、このような配列を維持することですが、私はこのコンテナの静的配列を保持することは可能ですか?
ようにしようとすると、配列std::vector<int*> vector;
しかし
std::vector<int[]> vector;
上のポインタを保持していない意味
std::hash_map<std::vector<BYTE>,std::string> xxx
エラーが発生しました。
できませんstd::vector<int[]> vector
コンパイルするには配列のサイズをstd::vector<int[5]> vector
のように指定する必要があります。
しかし、これは、他の配列などに配列を割り当てることができないため、悪い考えです。ベクトルを使用しようとすると、さまざまなエラーが発生します。
代わりにvector<vector<int>> vector
を使用するか、C++ 11ではvector<std::array<int, 5>> vector
を使用してください。
また、私はhash_map
の実装があなたが使用しているかどうかわからないので、上記の解決策があなたのケースではうまくいくかどうかわかりません。 (また、C++ 11にはunordered_mapがあるので、これが望ましいかもしれません)
C++ 11xとは何ですか?私はC++ 0xとC++ 11を知っています:) – bitmask
@bitmask:ありがとうございます。 –
私のベクターを別のベクターに入れますか? –
私はあなたの質問を理解するのに苦労しています。 'ベクトル'は 'ベクトル'とまったく同じものです。おそらく 'ベクトル'(Nはコンパイル時定数)を意味しましたか? –
sepp2k
C++のハッシュマップは 'unordered_map'と呼ばれ、これはうまく動作します:' std :: unordered_map、std :: string> ' –
' std :: unordered_map、std :: string> 'も配列はおそらく静的サイズなので、可能性もあります。 –
ildjarn