如果 d > 255,为什么未指定 std::chrono::day 存储值
Why std::chrono::day stored value is unspecified if d > 255
引自std::literals::chrono_literals::operator""d
A std::chrono::day storing d. If d > 255, the stored value is unspecified.
此限制背后的基本原理是什么?
文字不能存储超过 std::chrono::day
本身可以存储的内容,即 0
-255
。这允许它实现为 1 字节数据类型,因为它通常只存储 1 到 31 之间的值就足够了。
如果您正在寻找一种数据类型来存储任意天数的持续时间,请改用 std::chrono::days
。
引自std::literals::chrono_literals::operator""d
A std::chrono::day storing d. If d > 255, the stored value is unspecified.
此限制背后的基本原理是什么?
文字不能存储超过 std::chrono::day
本身可以存储的内容,即 0
-255
。这允许它实现为 1 字节数据类型,因为它通常只存储 1 到 31 之间的值就足够了。
如果您正在寻找一种数据类型来存储任意天数的持续时间,请改用 std::chrono::days
。