gpt4 book ai didi

c++ - 带公历日期的 unordered_map

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:14:59 25 4
gpt4 key购买 nike

我想将 boost::gregorian::date 存储为 boost::unordered_map 的键,但我无法编译代码,因为它缺少适当的哈希这个类的函数。

  1. 一个简单的解决方案是转换为 std::string 并存储它。我可能想避免使用此解决方案,因为使用字符串非常昂贵。
  2. 我试图找到一些将日期导出为数字的函数,但我只能读取 day() 函数,我不确定这是否真的合适。
  3. 也许我可以计算出我的日期和引用日期之间的天数?

有没有其他更好的方法来存储日期或将日期导出为数字的函数?

最佳答案

为其实现哈希函数:

namespace boost { namespace gregorian {

inline size_t hash_value(date const& date)
{
return boost::hash_value(date.julian_day());
}

} } // boost::gregorian

julian_day 只是自 Julian 纪元开始以来的日期索引(无论是什么)。

关于c++ - 带公历日期的 unordered_map,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24084445/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com