如何创建具有2个键值的映射
How to create a map with 2 key value
我正在寻找像学校时间表的东西。基于两个输入-星期几和一天中的时间,一个决定主题。为了在c++中实现这一点,我想到了类似"map <一对&>, Int>"。我在这里阅读使用一个关键类和操作符重载。还有其他优雅的方法吗?
Thanks in Advance
这不是一个具有两个键的映射(这将允许您仅从一个键的知识中查找项),它是一个组合键,并且map<pair<day, time>, subject>
应该可以正常工作。
同时考虑map<day, map<time, subject>>
你可以定义它
typedef pair<int, int> key;
map<key, int> myMap = new map<key, int>();
你不能用两个键值创建一个映射,你可以用一个复杂的键值(由两个类型组成)创建一个映射。然而,这并不能让你只查看一周中的某一天,而不管一天中的什么时间。我将创建一个新类作为键,并创建一些辅助函数,以便能够按天或按时间工作。
另外,对于您的用例,Boost.MultiIndex
可能会帮助您。
相关文章:
- 使用一个考虑到std::map中键值的滚动或换行的键
- 运算符C++ "delete []"仅删除 2 个前值
- C++映射有2个键,这样任何1个键都可以用来获取值
- c++同一个键的多个键/值对
- 这C++ unordered_map怎么有四个值?我以为这是一个键值对
- 使用 k 个键值对为零的存储桶初始化 c++14 unordered_map
- SORT(),vector<pair<int,int> >严格基于键值,即使两个键值相同
- 同时对两个向量(键/值)进行排序的最快方法
- 最有可能使用的方法是处理多个键以使用STL容器获取值
- 使用c++中的多个键之一访问相同的值
- 排序值C++映射具有多个键值的数据结构
- 映射中的两个键值可以相同吗?
- 我可以有一个C++映射,其中多个键引用该值而不使用指针吗
- 如何根据std::map的值获取它们的前n个键
- 如何创建具有2个键值的映射
- 如何循环multimap以获取每个键的第一个键值对
- 带有两个不同值的键的c++映射
- 当两个键(对)可能不包含两个值时,如何将两个键映射到一个键
- c++中具有相同键值的多个项的优先队列Multimap类
- 使用std::map C++的多个键值