std::chrono::year::year
De cppreference.com
year() = default;
|
(1) | (desde C++20) |
explicit constexpr year( int y ) noexcept;
|
(2) | (desde C++20) |
Construye un objeto year.
1) El constructor por defecto deja el valor del año sin inicializar.
2) Si
y está en el rango [-32767, 32767], construye un objeto year que contiene el valor del año y. De lo contrario, el valor retenido no se especifica.Ejemplo
Ejecuta este código
#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()) // usa el constructor (2)
++count;
return count;
} ();
static_assert(15891 == leap_years);
std::cout << "Hay " << leap_years << " años bisiestos en el rango ["
<< int(year::min()) << ", " << int(year::max()) << "].\n";
}
Salida:
Hay 15891 años bisiestos en el rango [-32767, 32767].