Scroll to navigation

std::chrono::year::year(3) C++ Standard Libary std::chrono::year::year(3)

NAME

std::chrono::year::year - std::chrono::year::year

Synopsis


year() = default; (1) (since C++20)
explicit constexpr year( int y ) noexcept; (2) (since C++20)


Constructs a year object.


1) Default constructor leaves the year value uninitialized.
2) If y is in the range [-32767, 32767], constructs a year object holding the year
value y. Otherwise the value held is unspecified.

Example

// Run this code


#include <chrono>
#include <iostream>


int main() {
using namespace std::chrono;


constexpr int 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].

2022.07.31 http://cppreference.com