1つまたは複数のキー(例えば、int
とstd::string
で構築されたキーのような)に基づいて数値データを収集するデータコンテナが必要です。複数のキー/値を持つ順序付けられていないコンテナ
複数の値を収集する必要がある場合は、1つのキーについては、それぞれunordered_map<std::string, int>
とunordered_map<std::string, List<int>>
を使用できます。
複数のキーを持つことはどうですか?他の投稿ではstd::make_pair<type1, type2>
をキーとして使用するように勧められましたが、これは2つのキーでのみ機能し、ちょっとハッキリに見えます。
複数の変数と複数の値が割り当てられたキーを使用することができる、使いやすいデータ構造またはライブラリがありますか?値はキーによってアクセス可能でなければなりません(値にアクセスするためのいくつかのインターフェースを提供するboost :: multi_indexのようなものは必要ありません)。さらに、コンテナ内で値をソートしてはいけませんが、データ処理中に値が増減するため、高速アクセスが望まれます。
最終的に複数のキー値に 'std :: tuple'を使用しますか?これが可能かどうかは分かりません。 –
複数のメンバを持つ構造体を作成し、それをキーとして使用すると、必要な演算子がオーバーロードされている限り正常に動作します。 –
@GillBates私は、等価演算子std :: hash以外の順序付けられていないコレクションの場合には、特殊化する必要があると考えています... –