Classe year
Représente une année dans le calendrier grégorien.
Syntaxe
class year; // C++20
Notes
Un year
peut contenir une valeur d’année comprise entre -32767 et 32767.
Membres
Nom | Description |
---|---|
Constructeurs | Construire un year |
is_leap |
Déterminez si l’année est une année bissextile. |
max |
Retourne la plus grande valeur d’année possible. |
min |
Retourne la plus petite valeur d’année possible. |
ok |
Vérifiez que la valeur de l’année se trouve dans la plage valide [-32767, 32767]. |
operator+ |
Unaire plus. |
operator++ |
Incrémentez l’année. |
operator+= |
Ajoutez le nombre d’années spécifié à ce year . |
operator- |
Moins unaire. |
operator-- |
Décrémentez l’année. |
operator-= |
Soustrait le nombre spécifié d’années à partir de ce year . |
operator int |
Obtenez la year valeur. |
Non-membres
Nom | Description |
---|---|
from_stream |
Analyser un year flux à partir d’un flux à l’aide du format spécifié |
operator+ |
Ajouter des années. |
operator- |
Soustraire des années. |
operator== |
Déterminez si deux ans sont égaux. |
operator<=> |
Comparez-le year à un autre year . Les >, >=, <=, <, != opérateurs sont synthétisés par le compilateur. |
operator<< |
Sortie d’un year flux donné. |
operator""y |
Créez un year littéral. |
Spécifications
En-tête : <chrono>
(depuis C++20)
Espace de noms : std::chrono
Option du compilateur : /std:c++latest
Constructeurs
Construisez un year
.
1) year() = default;
2) explicit constexpr year(unsigned y) noexcept;
Paramètres
y
Construisez une year
valeur avec la valeur y
.
Notes
1) Le constructeur par défaut n’initialise pas la year
valeur.
2) Construisez une year
valeur avec la valeur spécifiée.
Exemple : Créer un year
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
year y{2020};
year y2 = 2021y;
std::cout << y << ", " << y2;
return 0;
}
2020, 2021
is_leap
Vérifiez si la valeur stockée dans cette year
plage est valide.
constexpr bool is_leap() const noexcept;
Valeur retournée
true
si la valeur de l’année est une année bissextile. Sinon, false
.
Une année bissextile est une année divisible de 4, mais pas 100- ou est divisible de 400.
max
Retourne la plus grande année possible.
static constexpr year max() noexcept;
Valeur retournée
year{32767}
min
Retourne la plus petite année possible.
static constexpr year min() noexcept;
Valeur retournée
year{-32767}
ok
Vérifiez si la valeur stockée dans cette year
plage est valide.
constexpr bool ok() const noexcept;
Valeur retournée
true
si la valeur de l’année se trouve dans la plage [-32676, 32767]. Sinon, false
.
operator+
Appliquez unaire plus.
constexpr year operator+() const noexcept;
Valeur retournée
Retourne *this
.
Exemple : unaire operator+
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
year y{-1};
std::cout << +y;
return 0;
}
-0001
operator++
Ajoutez 1 à la valeur de l’année.
1) constexpr year& operator++() noexcept;
2) constexpr year operator++(int) noexcept;
Valeur retournée
1) Renvoie la référence à cette année après son incrémentation (incrément postfix).
2) Retourne une copie du year
, avant d’être incrémentée (incrément de préfixe).
Exemple : operator++
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
year y{2021};
std::cout << y << " " << ++y << "\n"; // constexpr year& operator++() noexcept
std::cout << y << " " << y++ << "\n"; // constexpr year operator++(int) noexcept
std::cout << y << "\n";
return 0;
}
2021 2022
2022 2022
2023
Notes
Si le résultat incrémenté dépasse 32767, il dépasse -32768
operator-
Moins unaire. Negatez le year
.
constexpr year operator-() const noexcept; // C++20
Valeur retournée
Retourne une copie négation du year
.
Exemple : unaire operator-
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
year y{1977};
std::cout << -y << '\n';
return 0;
}
-1977
operator--
Soustrait 1 de la valeur de l’année.
1) constexpr year& operator--() noexcept;
2) constexpr year operator--(int) noexcept;
Valeur retournée
1) Référence à ceci year
après sa décrémentation (décrémentation postfixée).
2) Copie de la year
version antérieure à la décrémentation (décrémentation de préfixe).
Exemple : operator--
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
year y{2021};
std::cout << y << " " << --y << "\n"; // constexpr year& operator++() noexcept
std::cout << y << " " << y-- << "\n"; // constexpr year operator++(int) noexcept
std::cout << y << "\n";
return 0;
}
2021 2020
2020 2020
2019
Notes
Si le résultat décrémenté est inférieur à -32768, il est défini sur 32767.
operator+=
Ajoutez des jours à ce year
.
constexpr year& operator+=(const years& y) noexcept;
Paramètres
y
Nombre d’années à ajouter.
Valeur retournée
*this
Si le résultat incrémenté dépasse 32767, il dépasse -32768.
operator-=
Soustraire les jours de ce year
.
constexpr year& operator-=(const years& y) noexcept;
Paramètres
y
Nombre d’années à soustraire.
Valeur retournée
*this
. Si le résultat décrémenté est inférieur à -32768, il est défini sur 32767.
operator int
Obtenez la year
valeur.
explicit constexpr operator int() const noexcept;
Valeur retournée
La valeur de year
Exemple : operator int()
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
year y{2020};
int yearValue = static_cast<int>(y);
std::cout << yearValue;
return 0;
}
2020
Voir aussi
<chrono>
year_month
year_month_day
year_month_day_last
year_month_weekday
year_month_weekday_last
Informations de référence sur les fichiers d’en-tête