如何创建具有2个键值的映射

How to create a map with 2 key value

本文关键字:2个 键值 映射 何创建 创建      更新时间:2023-10-16

我正在寻找像学校时间表的东西。基于两个输入-星期几和一天中的时间,一个决定主题。为了在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可能会帮助您。