【发布时间】:2014-07-27 21:04:37
【问题描述】:
我想将boost::gregorian::date 存储为boost::unordered_map 的键,但我无法编译代码,因为它缺少该类的正确哈希函数。
- 一个简单的解决方案是转换为
std::string并存储它。我可能想避免这种解决方案,因为使用字符串非常昂贵。 - 我试图找到一些将日期导出为数字的函数,但我只能读取
day()函数,我不确定这是否真的合适。 - 也许我可以计算我的日期和参考日期之间的天数?
还有其他更好的方法来存储日期或将日期导出为数字的函数吗?
【问题讨论】:
-
为什么不将其存储在普通地图中?
-
当然出于性能原因..map 是二叉树,unordered_map 访问为 O(1)
-
您可以从提升日期获取朱利安日,并且有很多方法可以获取字符串表示形式。这是你要求的吗?
-
.mm 我要求将其转换为数字而不是字符串,因为使用字符串更昂贵
-
这也是我提到朱利安日的原因
标签: c++ boost-date-time boost-unordered