std::chrono::month_day::ok
來自 cppreference.com
constexpr bool ok() const noexcept; |
(C++20 起) | |
確定此 month_day
是否儲存了有效的月日組合。
如果 month() 表示一個有效的月份(month().ok() == true),且 unsigned{day()} >= 1,並且 unsigned{day()} <= D,則該組合有效,其中 D 是由 month()
表示的月份中的天數。二月份的天數被認為是 29 天。
[編輯] 返回值
如果月日組合有效,則為 true,否則為 false。
[編輯] 示例
執行此程式碼
#include <chrono> #include <iostream> int main() { std::cout << std::boolalpha; constexpr auto md1{std::chrono::July/15}; std::cout << (md1.ok()) << ' '; constexpr std::chrono::month_day md2{std::chrono::month(14), std::chrono::day(42)}; std::cout << (md2.ok()) << ' '; constexpr auto md3{std::chrono::February/29}; std::cout << (md3.ok()) << '\n'; }
輸出
true false true