|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
year::is_leap | ||||
| Nonmember functions | ||||
| Helper classes | ||||
(C++26) |
constexprbool is_leap()constnoexcept; | (since C++20) | |
Determines if*this represents a leap year in theproleptic Gregorian calendar.
*this represents a leap year if the stored year value
true if*this represents a leap year, otherwisefalse.
#include <chrono>#include <iostream> int main(){usingnamespace std::chrono_literals;for(conststd::chrono::year y:{2020y, 2021y, 2000y, 3000y}){if(constint iy{static_cast<int>(y)}; y.is_leap())std::cout<< iy<<" is a leap year because it is divisible by "<<(iy%400==0?"400\n":"4 and not divisible by 100\n");elsestd::cout<< iy<<" is not a leap year\n";}}
Output:
2020 is a leap year because it is divisible by 4 and not divisible by 1002021 is not a leap year2000 is a leap year because it is divisible by 4003000 is not a leap year