如果我想要这样的话,我在c ++中有什么不同的选择?
array = [];
array[] = ['id' => 2, 'name' => 'roger'];
array[] = ['id' => 3, 'name' => 'clark'];
我一直在四处寻找,但确实找到了map
,但它似乎不适用于同一个键/索引的多个键/值。
答案 0 :(得分:2)
有多种选择可以满足您的要求:
如果仅需要维护映射的数据结构,则可以使用std::map
或std::unordered_map
。
如果您想要一个可以使用相同键维护映射的数据结构,则可能需要使用std::multimap
。
如果您想要一个数据结构来维护可以将单个键映射到多个值的映射,则可以将值设置为std::vector
,std::set
,std::unordered_set
或任何其他容器,取决于您的需要。例如,它可能是std::map<int, std::vector<int>>
。
答案 1 :(得分:-1)
您可以尝试使用std::pair
值的向量(或数组)。它并不完全是键/值,但可以让您与常见的“键”配对。