c ++多个key/value对一个和相同的密钥

c++ Multiple key/value pairs for one and the same key

如果我想要这样的东西,我在 C++ 中有哪些不同的选择?

array = [];
array[] = ['id' => 2, 'name' => 'roger'];
array[] = ['id' => 3, 'name' => 'clark'];

我一直在四处寻找,确实找到了 map,但它似乎不适用于同一个 key/index.[=13] 的多个 key/values =]

您可以尝试使用 std::pair 个值的向量(或数组)。它不完全是 key/value,但它允许您与普通 "keys" 成对。

有多种选择可能符合您的要求:

  1. 如果你只是想要一个维护映射的数据结构,你可以使用std::mapstd::unordered_map

  2. 如果你想要一个可以维护具有相同键的映射的数据结构,那么你可能想要使用std::multimap.

  3. 如果你想要一个维护映射的数据结构,可以将单个键映射到多个值,你可以将你的值设置为 std::vector, std::set, std::unordered_set 或任何其他容器,取决于您的需要。例如,它可以是 std::map<int, std::vector<int>>.