c++ - 如果 d > 255,为什么未指定 std::chrono::day 存储值

标签 c++ literals c++20 chrono

引自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相反。

关于c++ - 如果 d > 255,为什么未指定 std::chrono::day 存储值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64968354/

相关文章:

java - 为什么 Java SE 1.7 中数字文字中的下划线规则在八进制和十六进制中不同?八进制文字不是违反规则吗?

c++ - 如何使用 C++11 <thread> 设计一个从源中提取数据的系统

C++模仿ls之类的命令

java - 强制转换与附加

javascript - 一个数组中的对象字面量和对象构造函数是否存在潜在问题?

c++ - 有条件的平凡析构函数

c++ - 使用 Clang 13 的 Ubuntu 20.04 上缺少 C++20 头文件

c++ - 如何使概念失败并显示自定义错误消息(C++ 20)

C++ 将 Const 对象引用传递给构造函数

c++ - 如何以跨平台的方式获取(几乎)唯一的系统标识符?