Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 monthAngabe die angegebene Anzahl von Monaten hinzu. |
operator-- |
Erhöhen Sie diesen monthWert. |
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 monthVorgang 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