【发布时间】:2017-01-11 03:09:26
【问题描述】:
typedef struct A{
string id;
long date;
// operator = and < overloading
}Test;
Map<Test, double> testMap[2];
在代码中,testMap 数组填充了键和值以及一些业务逻辑。
我需要为每个 A.id 计算两个映射的总双精度值。请注意,总和应仅基于 A.id 而不是整个结构键。
为此,我可以使用 for 循环应用正常的蛮力方法并获得结果。
但我正在尝试寻找可以优化代码的此问题的任何替代解决方案。请提出建议。
【问题讨论】:
-
你不使用这个有什么原因吗:Map
testMap[2]; ? -
对于每个 id ,我们可能在不同的日期有不同的交易。所以将地图键设置为 id 和日期的组合。
-
似乎
map<string, pair<vector<double>, long>> test_map[2]在这种特定情况下可能会更好。 -
有什么理由不使用
std::array<std::map<Test, double>, 2> testMaps?
标签: c++ dictionary stl