0

そのため、C++ フォーラムを検索してきましたが、実際には解決策が見つかりませんでした。次の詳細を持つ拡張ハッシュマップを作成しようとしています: 実数または文字列の値を格納できます。実数または文字列のキーを格納できます。キーごとに複数のエントリ (値) を格納できます。

結果の例:

キー: "キー" --> 値: 0,5,"45","66".

キー: 55 --> 値: "よう", 27, "67",88.

ご覧のとおり、キーを実数または文字列として格納できるハッシュマップを作成し、キーごとに複数のキーを実数または文字列として格納できるようにしようとしています。

4

2 に答える 2

0

ブーストにアレルギーがない場合は、boost::variantをご覧になることをお勧めします。boost::variant<double, std::string>ハッシュ マルチマップでキーと値の両方の型として使用することも、ハッシュマップでstd::vector<boost::variant<double, std::string>>値の型として使用することもできます。

他の利点 (タイプ セーフなど) の中でも、boost::variant型は、そのメンバー型がすべてハッシュ可能 (および と の両方double)std::stringである限りハッシュ可能であるため、それらをハッシュ テーブルのキーとして使用できるはずです。

于 2013-11-14T23:10:13.863 に答える