我正在寻找类似学校时间表的东西。基于两个输入 - 一周中的一天和一天中的时间,一个决定主题。为了在c ++中实现这一点,我想到的是“map< pair< int,int>,int>”。 我正在阅读here以使用密钥类和运算符重载。 有没有其他优雅的方式呢?
先谢谢
答案 0 :(得分:1)
这不是带有两个键的地图(可以让你只从一个键的知识中查找项目),它是一个复合键,而map<pair<day, time>, subject>
应该可以正常工作。
另请考虑map<day, map<time, subject>>
。
答案 1 :(得分:0)
你可以输入它。
typedef pair<int, int> key;
map<key, int> myMap = new map<key, int>();
答案 2 :(得分:0)
您无法使用2个键值创建地图,您可以创建具有复杂键值的地图(由两种类型组成)。但是,这不会让你无论何时何时都只看星期几的地图。我会创建一个新类用作键,一些辅助函数可以在一天或一段时间内工作。
另外,对于您的用例Boost.MultiIndex
可能对您有所帮助。