C++ 数据结构类似于具有多个键级别的 std::map

标签 c++ dictionary boost containers

我想要一个类似于 std::map 的数据结构,具有多个关键级别。例如在这个 my_map 中:

(‘a’ , “a1”) ->  “value1”
(‘a’ , “a2”) ->  “value2”
(‘b’ , “b1”) ->  “value3”
(‘b’ , “b2”) ->  “value4”

第一级键值是字符:['a' and 'b'],第二级键值是std::string(“a1”等) 并且值是字符串。

API 要求:

使用两个键值添加元素。 通过第一个键检索元素:my_map.at_first_level('a'),这应该返回如下 map :

"a1" -> “value1”
"a2" -> “value2”

是否在任何 C++ 库中实现了这种“多级映射”数据结构?

最佳答案

您考虑过 map 中的 map 吗?

std::map<char, std::map<std::string, std::string> myMap;

关于C++ 数据结构类似于具有多个键级别的 std::map,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50785477/

相关文章:

c++ - undefined reference 错误消息 - C++

c++ - 如何加快我的稀疏矩阵求解器?

c++ - flex C++ 中的 map<char[], char[]> 无法编译

c++ - 尝试访问未初始化的 boost::match_results<> 类

C++ 预期主表达式编译错误

c++ - 使用 boost::hana 和 CMake 没有完整的 boost 安装(外部项目?)

c++ - 总的通用指针类型是什么?

c++ - 什么时候为 Widget 父构造函数放置 "this"关键字?

python:查找围绕某个 GPS 位置的圆的 GPS 坐标的优雅方法

c# - 为什么我的 Dictionary 类看不到 ToArray() 方法?