Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Stellt einen Tag des Monats dar. Beispielsweise der 25. Tag des Monats.
Syntax
class day; // C++20
Bemerkungen
Normalerweise enthält ein day Wert im Bereich [1, 31]. Es kann nicht negative Werte außerhalb dieses Bereichs enthalten, aber das Verhalten ist nicht angegeben, wenn es nicht innerhalb des Bereichs [0, 255] liegt.
Elemente
| Name | BESCHREIBUNG |
|---|---|
| Erbauer | Erstellen eines day. |
ok |
Stellen Sie sicher, dass sich der Tagwert im gültigen Bereich [1,31] befindet. |
operator++ |
Erhöhen Sie diesen dayWert. |
operator+= |
Addieren Sie die angegebene Anzahl von Tagen zu diesem day. |
operator-- |
Dekrementieren Sie die day. |
operator-= |
Subtrahieren der angegebenen Anzahl von Tagen davon day |
operator unsigned |
Rufen Sie den Tageswert als ganze Zahl ohne Vorzeichen ab. |
Nicht-Member
| Name | BESCHREIBUNG |
|---|---|
from_stream |
Analysieren Eines day aus dem angegebenen Datenstrom mithilfe des angegebenen Formats. |
operator+ |
Fügen Sie die dayangegebene Anzahl von Tagen hinzu und geben Sie ein neues day Objekt zurück. |
operator- |
Subtrahieren Sie die angegebene Anzahl von Tagen davon day, wobei ein neues day Objekt zurückgegeben wird. |
operator== |
Hiermit wird bestimmt, ob zwei day-Instanzen gleich sind. |
operator<=> |
Vergleichen Sie dies day mit einem anderen day. Die >, >=, <=, <, != Operatoren werden vom Compiler synthetisiert. |
operator<< |
Gibt einen day an den angegebenen Datenstrom aus. |
operator""d |
Erstellen Sie ein day Literal für einen Tag im Monat. |
Anforderungen
Kopfball:<chrono> (seit C++20)
Namespace:std::chrono
Compileroption:/std:c++latest
Erbauer
Erstellt ein Objekt vom Typ day.
1) day() = default;
2) explicit constexpr day(unsigned d) noexcept;
Die Parameter
d
Erstellen eines day mit Wert d.
Bemerkungen
1) Der Standardkonstruktor initialisiert nicht den Tagwert.
2) Erstellen Sie einen day mit dem Tagwert initialisiert in d.
Beispiel: Erstellen einer day-Klasse
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
day d{1}; // day 1
day d2 = 2d; // day 2
std::cout << d << ", " << d2;
return 0;
}
01, 02
ok
Hiermit wird überprüft, ob der Wert, der in dieser day-Klasse gespeichert ist, im gültigen Bereich liegt.
constexpr bool ok() const noexcept;
Rückgabewert
true wenn sich der Tagwert im Bereich [1,31] befindet. Andernfalls false.
operator++
Addieren Sie 1 zum Tageswert.
1) constexpr std::chrono::day& operator++() noexcept;
2) constexpr std::chrono::day operator++(int) noexcept;
Rückgabewert
1) Ein Verweis darauf *thisday, nachdem er erhöht wurde (ein Postfix-Inkrement).
2) Eine Kopie der day, 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()
{
day d{1};
std::cout << d << " " << ++d << "\n"; // constexpr day& operator++() noexcept
std::cout << d << " " << d++ << "\n"; // constexpr day operator++(int) noexcept
std::cout << d;
return 0;
}
01 02
02 02
03
Bemerkungen
Wenn das inkrementierte Ergebnis außerhalb des Bereichs [0, 255] liegt, ist der gespeicherte Wert nicht angegeben.
operator--
Subtrahieren Sie 1 vom Tagwert.
1) constexpr std::chrono::day& operator--() noexcept;
2) constexpr std::chrono::day operator--(int) noexcept;
Rückgabewert
1) Ein Verweis auf *this einen Tag , nachdem er dekrementiert wurde (eine Postfix-Dekrementierung).
2) Eine Kopie der *day, bevor sie dekrementiert wurde (präfix decrement).
Beispiel: operator--
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
int main()
{
day d{5};
std::cout << d << " " << --d << "\n"; // constexpr day& operator--() noexcept
std::cout << d << " " << d-- << "\n"; // constexpr day operator--(int) noexcept
std::cout << d << "\n";
return 0;
}
05 04
04 04
03
Bemerkungen
Wenn das dekrementierte Ergebnis außerhalb des Bereichs [0, 255] liegt, ist der gespeicherte Wert nicht angegeben.
operator+=
Fügen Sie dieser dayDatei Tage hinzu.
constexpr day& operator+=(const days& d) noexcept;
Die Parameter
d
Die Anzahl der hinzuzufügenden Tage.
Rückgabewert
*this
Wenn sich das Ergebnis außerhalb des Bereichs [0, 255] befindet, ist der gespeicherte Wert nicht angegeben.
operator-=
Subtrahieren Sie Tage von diesem day.
constexpr day& operator-=(const days& d) noexcept;
Die Parameter
d
Die Anzahl der Tage, die subtrahiert werden sollen.
Rückgabewert
*this. Wenn sich das Ergebnis außerhalb des Bereichs [0, 255] befindet, ist der gespeicherte Wert nicht angegeben.
operator unsigned
Rufen Sie den day Wert ab.
explicit constexpr operator unsigned() const noexcept;
Rückgabewert
Der Wert des day
Beispiel: operator unsigned()
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
int main()
{
chrono::day d{14d};
unsigned dayValue = static_cast<unsigned>(d);
cout << dayValue << "\n";
return 0;
}
14
Siehe auch
<chrono>
month_day Klasse
month_day_last Klasse
year_month_day
year_month_day_last
Headerdateienreferenz