C++:在多地图中存储三个组



我想知道你如何实现一个包含三个值组的多映射。例如:[{a,b,c}, {d,e,f}]

你必须使用std::p air吗?

是的。 使用 std::p air 是表示值 {b,c} 和 {e,f} 的合理方法您将每个都存储在多重映射中,键 a,值 {b,c} 和键 D,值 {e,f}。

然后稍后你可能有键 a,值 {z,y}。 插入后,您可以找到键 a,它将返回一个迭代器,您可以获取与键 a 关联的所有值。

如果你有元组,那么你可以考虑使用键 a,元组 {a,b,c}。

如果你的意思是表示自己的键是一组三个值,那么例如你可以使用 std::array 作为键。

例如

std::multimap<std::array<int, 3>, std::string> m;

相关内容

最新更新