|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
year::year | ||||
| Nonmember functions | ||||
| Helper classes | ||||
(C++26) |
year()=default; | (1) | (since C++20) |
constexprexplicit year(int y)noexcept; | (2) | (since C++20) |
Constructs ayear object.
[-32767, 32767], constructs ayear object holding the year valuey. Otherwise the value held is unspecified.#include <chrono>#include <iostream> int main(){usingnamespace std::chrono; constexprint leap_years=[]{int count{};for(int i{year::min()}; i<=int{year::max()};++i)if(year{i}.is_leap())// uses constructor (2)++count;return count;}(); static_assert(15891== leap_years); std::cout<<"There are "<< leap_years<<" leap years in the range ["<<int(year::min())<<", "<<int(year::max())<<"].\n";}
Output:
There are 15891 leap years in the range [-32767, 32767].