month
-Klasse
Stellt einen Monat eines Jahres dar. Beispiel: Juli.
Syntax
class month; // C++20
Hinweise
Normalerweise enthält ein month
Wert im Bereich [1, 12]. Sie kann auch nicht negative Werte außerhalb dieses Bereichs enthalten.
Siehe "Month"-Konstanten unten für Konstanten, die Sie mit der month
Klasse verwenden können.
Mitglieder
Name | Beschreibung |
---|---|
Konstruktoren | Erstellen Sie ein month . |
ok |
Stellen Sie sicher, dass sich der Monatswert im gültigen Bereich [1,12] befindet. |
operator++ |
Erhöhen Sie die month . |
operator+= |
Fügen Sie dieser month Angabe die angegebene Anzahl von Monaten hinzu. |
operator-- |
Erhöhen Sie diesen month Wert. |
operator-= |
Subtrahieren Sie die angegebene Anzahl von Monaten von diesem month . |
operator unsigned |
Rufen Sie den month Wert ab. |
Nicht-Member
Name | Beschreibung |
---|---|
from_stream |
Analysieren Eines month aus dem angegebenen Datenstrom mithilfe des angegebenen Formats. |
operator+ |
Add specified number of months to this month , returning a new month instance. |
operator- |
Subtrahieren Sie die angegebene Anzahl von Monaten von diesem Monat. Gibt eine neue month -Instanz zurück. |
operator== |
Bestimmen Sie, ob zwei Monate gleich sind. |
operator<=> |
Vergleichen Sie diesen Monat mit einem anderen Monat. Die >, >=, <=, <, != Operatoren werden vom Compiler synthetisiert. |
operator<< |
Gibt einen month an den angegebenen Datenstrom aus. |
Anforderungen
Header: <chrono>
(seit C++20)
Namespace:std::chrono
Compileroption: /std:c++latest
Konstruktoren
Erstellen Sie ein month
.
1) month() = default;
2) explicit constexpr month(unsigned m) noexcept;
Parameter
m
Erstellen eines month
mit Wert m
.
Hinweise
1) Der Standardkonstruktor initialisiert nicht den Tagwert.
2) Erstellen Sie einen month
mit dem Tagwert initialisiert in m
.
ok
Hiermit wird überprüft, ob der Wert, der in dieser month
-Klasse gespeichert ist, im gültigen Bereich liegt.
constexpr bool ok() const noexcept;
Rückgabewert
true
wenn sich der Monatswert im Bereich [1,12] befindet. Andernfalls false
.
operator++
Erhöhen Sie den Monatswert.
1) constexpr month& operator++() noexcept;
2) constexpr month operator++(int) noexcept;
Rückgabewert
1) Ein Bezug auf *this
Monat , nachdem er erhöht wurde (ein Postfix-Inkrement).
2) Eine Kopie der month
, bevor sie erhöht wurde (ein Präfix inkrementiert).
Beispiel: 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
Hinweise
Wenn das Ergebnis 12 überschreitet, wird es auf 1 festgelegt.
operator--
Subtrahieren Sie 1 vom Monatswert.
1) constexpr month& operator--() noexcept;
2) constexpr month operator--(int) noexcept;
Rückgabewert
1) Ein Verweis darauf *this
month
, nachdem er dekrementiert wurde (eine Postfix-Dekrementierung).
2) Eine Kopie der month
vor ihr dekrementierten (Präfix-Dekrementierung).
Beispiel: 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
Hinweise
Wenn das dekrementierte Ergebnis kleiner als 1 ist, wird es auf 12 festgelegt.
operator+=
Fügen Sie diesem month
Vorgang Monate hinzu.
constexpr month& operator+=(const months& m) noexcept;
Parameter
m
Die Anzahl der hinzuzufügenden Monate.
Rückgabewert
*this
operator-=
Subtrahieren months
Sie von diesem month
.
constexpr month& operator-=(const months& m) noexcept;
Parameter
m
Die Monate, die subtrahiert werden sollen.
Rückgabewert
*this
.
operator unsigned
Rufen Sie den nicht signierten Wert ab month
.
explicit constexpr operator unsigned() const noexcept;
Rückgabewert
Der nicht signierte Wert dieses Werts month
Beispiel: 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
Monatskonstanten
(C++20) Die <chrono>
Kopfzeile definiert die folgenden Konstanten, mit denen Sie ihren Code einfacher, typsicherheit und wartungsfreundlicher verwenden month
können. Diese Konstanten befinden sich im Bereich, wenn std::chrono
sie sich im Bereich befinden.
// 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};
Siehe auch
<chrono>
month_day
Klasse
month_day_last
Klasse
month_weekday
Klasse
month_weekday_last
-Klasse