std::literals::chrono_literals::operator""d
来自 cppreference.cn
定义于头文件 <chrono> |
||
constexpr std::chrono::day operator ""d( unsigned long long d ) noexcept; |
(自 C++20 起) | |
形成表示日历中某个月份的 std::chrono::day 字面量。
内容 |
[edit] 参数
d | - | 日值 |
[edit] 返回值
存储 d 的 std::chrono::day。若 d > 255,则存储的值为未指明的。
[edit] 可能的实现
constexpr std::chrono::day operator ""d(unsigned long long d) noexcept { return std::chrono::day(d); } |
[edit] 注解
此运算符声明于命名空间 std::literals::chrono_literals 中,其中 literals 和 chrono_literals 均为内联命名空间。可通过以下方式获得对此运算符的访问:
- using namespace std::literals,
- using namespace std::chrono_literals,或
- using namespace std::literals::chrono_literals.
此外,在命名空间 std::chrono 中,标准库提供了指令 using namespace literals::chrono_literals;, 使得若程序员使用 using namespace std::chrono; 以获得对 chrono 库中各类的访问,则对应的字面量运算符亦变得可见。
[edit] 示例
运行此代码
#include <chrono> #include <iostream> int main() { using namespace std::literals::chrono_literals; std::cout << static_cast<unsigned>(42d) << '\t' << 42d << '\n' << static_cast<unsigned>(256d) << '\t' << 256d << '\n' // unspecified << static_cast<unsigned>(298d) << '\t' << 298d << '\n'; // unspecified }
可能的输出
42 42 is not a valid day 0 00 is not a valid day 42 42 is not a valid day
[edit] 参见
构造 day ( std::chrono::day 的公开成员函数) | |
检索存储的日值 ( std::chrono::day 的公开成员函数) |