C++:在多重映射中存储三个一组

标签 c++ multimap

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

必须使用 std::pair 吗?

最佳答案

是的。使用 std::pair 是表示值 {b,c} 和 {e,f} 的合理方法 您可以将每个值存储在多重映射中,其中包含键 a、值 {b,c} 和键 D、值 {e,f}。

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

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

关于C++:在多重映射中存储三个一组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19468691/

相关文章:

C++ 在公共(public)容器中存储子对象

c++ - 在键上使用 map.find() 和 count(),这是一个类对象类型

c++ - 并行程序中的 Multimap 或排序 vector

c++ - 如何从 multimap 中删除重复的字符串值

c++ - 我怎样才能让两个类通过 C++ 中的 vector (映射、多映射..)相互链接?

c++ - 将 char * 转换为 int 会产生奇怪的错误

c++ - Ruby FFI 找不到某些功能?

java - 将 JNI -> jobject(基本上是 map 和/或 java 文件中的 map 的映射)转换为 std::map(c++)

c++ - OpenCV imwrite 浮点图像,使用哪种转换?

java - Guava 多图。把值(value)放在最后和开始