Classe month
Représente un mois d’un an. Par exemple, juillet.
Syntaxe
class month; // C++20
Notes
Une month
valeur contient normalement des valeurs dans la plage [1, 12]. Elle peut également contenir des valeurs non négatives en dehors de cette plage.
Consultez les constantes Month, ci-dessous, pour les constantes que vous pouvez utiliser avec la month
classe.
Membres
Nom | Description |
---|---|
Constructeurs | Construisez un month . |
ok |
Vérifiez que la valeur du mois se trouve dans la plage valide [1,12]. |
operator++ |
Incrémenter le month . |
operator+= |
Ajoutez le nombre spécifié de mois à ce month . |
operator-- |
Décrémentez cela month . |
operator-= |
Soustrait le nombre spécifié de mois à partir de ce month . |
operator unsigned |
Obtenez la month valeur. |
Non-membres
Nom | Description |
---|---|
from_stream |
Analysez une month valeur à partir du flux donné à l’aide du format spécifié. |
operator+ |
Ajoutez le nombre spécifié de mois à ce month qui suit , en retournant une nouvelle month instance. |
operator- |
Soustrait le nombre spécifié de mois à partir de ce mois. Retourne une nouvelle instance month . |
operator== |
Déterminez si deux mois sont égaux. |
operator<=> |
Comparez ce mois-ci à un autre mois. Les >, >=, <=, <, != opérateurs sont synthétisés par le compilateur. |
operator<< |
Sortie d’un month flux donné. |
Spécifications
En-tête :<chrono>
(depuis C++20)
Espace de noms :std::chrono
Option du compilateur :/std:c++latest
Constructeurs
Construisez un month
.
1) month() = default;
2) explicit constexpr month(unsigned m) noexcept;
Paramètres
m
Construisez une month
valeur avec la valeur m
.
Notes
1) Le constructeur par défaut n’initialise pas la valeur de jour.
2) Construisez une month
valeur de jour initialisée sur m
.
ok
Vérifiez si la valeur stockée dans cette month
plage est valide.
constexpr bool ok() const noexcept;
Valeur retournée
true
si la valeur du mois se trouve dans la plage [1,12]. Sinon, false
.
operator++
Incrémentez la valeur du mois.
1) constexpr month& operator++() noexcept;
2) constexpr month operator++(int) noexcept;
Valeur retournée
1) Référence au *this
mois après son incrémentation (incrément de postfix).
2) Copie du month
, 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()
{
month m{ January };
month m2{4}; // April
std::cout << m << " " << ++m << "\n"; // constexpr month& operator++() noexcept
std::cout << m << " " << m++ << "\n"; // constexpr month operator++(int) noexcept
std::cout << m << "\n";
std::cout << m2 << "\n";
return 0;
}
Jan Feb
Feb Feb
Mar
Apr
Notes
Si le résultat dépasse 12, il est défini sur 1.
operator--
Soustrait 1 de la valeur du mois.
1) constexpr month& operator--() noexcept;
2) constexpr month operator--(int) noexcept;
Valeur retournée
1) Référence à une *this
month
fois qu’elle a été décrémentée (décrémentation postfixée).
2) Copie de la month
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;
using namespace std::chrono;
int main()
{
month m{May};
cout << m << " " << --m << "\n"; // constexpr month& operator++() noexcept
cout << m << " " << m-- << "\n"; // constexpr month operator++(int) noexcept
cout << m << "\n";
return 0;
}
May Apr
Apr Apr
Mar
Notes
Si le résultat décrémenté est inférieur à 1, il est défini sur 12.
operator+=
Ajoutez des mois à ce month
.
constexpr month& operator+=(const months& m) noexcept;
Paramètres
m
Nombre de mois à ajouter.
Valeur retournée
*this
operator-=
Soustraction months
de ce month
.
constexpr month& operator-=(const months& m) noexcept;
Paramètres
m
Mois à soustraire.
Valeur retournée
*this
.
operator unsigned
Obtenez la valeur non signée month
.
explicit constexpr operator unsigned() const noexcept;
Valeur retournée
Valeur non signée de ce month
Exemple : operator unsigned()
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
month m{July};
unsigned monthValue = static_cast<unsigned>(m);
std::cout << monthValue << "\n";
return 0;
}
7
Constantes mois
(C++20) L’en-tête <chrono>
définit les constantes suivantes que vous pouvez utiliser pour month
plus de commodité, de sécurité de type et de maintenance de votre code. Ces constantes sont dans l’étendue quand std::chrono
elles se trouvent dans l’étendue.
// Calendrical constants
inline constexpr month January{1};
inline constexpr month February{2};
inline constexpr month March{3};
inline constexpr month April{4};
inline constexpr month May{5};
inline constexpr month June{6};
inline constexpr month July{7};
inline constexpr month August{8};
inline constexpr month September{9};
inline constexpr month October{10};
inline constexpr month November{11};
inline constexpr month December{12};
Voir aussi
<chrono>
month_day
Classe
month_day_last
Classe
month_weekday
Classe
month_weekday_last
, classe
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour