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 ein Jahr im gregorianischen Kalender dar.
Syntax
class year; // C++20
Hinweise
Ein year Wert kann einen Jahreswert zwischen -32767 und 32767 enthalten.
Mitglieder
| Name | Beschreibung |
|---|---|
| Konstruktoren | Erstellen eines year |
is_leap |
Ermitteln Sie, ob das Jahr ein Schaltjahr ist. |
max |
Gibt den größten möglichen Jahreswert zurück. |
min |
Gibt den kleinsten möglichen Jahreswert zurück. |
ok |
Überprüfen Sie, ob sich der Jahreswert im gültigen Bereich befindet [-32767, 32767]. |
operator+ |
Unär plus. |
operator++ |
Erhöhen Sie das Jahr. |
operator+= |
Add the specified number of years to this year. |
operator- |
Unär minus. |
operator-- |
Erhöhen Sie das Jahr. |
operator-= |
Subtrahieren Sie die angegebene Anzahl von Jahren von diesem year. |
operator int |
Rufen Sie den year Wert ab. |
Nicht-Member
| Name | Beschreibung |
|---|---|
from_stream |
Analysieren eines year Datenstroms mithilfe des angegebenen Formats |
operator+ |
Fügen Sie Jahre hinzu. |
operator- |
Subtrahieren sie Jahre. |
operator== |
Bestimmen Sie, ob zwei Jahre gleich sind. |
operator<=> |
Vergleichen Sie dies year mit einem anderen year. Die >, >=, <=, <, != Operatoren werden vom Compiler synthetisiert. |
operator<< |
Gibt einen year an den angegebenen Datenstrom aus. |
operator""y |
Erstellen Sie ein year Literal. |
Anforderungen
Header: <chrono> (seit C++20)
Namespace:std::chrono
Compileroption: /std:c++latest
Konstruktoren
Erstellen Sie ein year.
1) year() = default;
2) explicit constexpr year(unsigned y) noexcept;
Parameter
y
Erstellen eines year mit Wert y.
Hinweise
1) Der Standardkonstruktor initialisiert den year Wert nicht.
2) Erstellen sie mit year dem angegebenen Wert.
Beispiel: Erstellen einer year-Klasse
// 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
Hiermit wird überprüft, ob der Wert, der in dieser year-Klasse gespeichert ist, im gültigen Bereich liegt.
constexpr bool is_leap() const noexcept;
Rückgabewert
true wenn der Jahreswert ein Schaltjahr ist. Andernfalls false.
Ein Schaltjahr ist ein Jahr divisierbar durch 4, aber nicht um 100 - oder ist teilbar durch 400.
max
Gibt das größte mögliche Jahr zurück.
static constexpr year max() noexcept;
Rückgabewert
year{32767}
min
Gibt das kleinste mögliche Jahr zurück.
static constexpr year min() noexcept;
Rückgabewert
year{-32767}
ok
Hiermit wird überprüft, ob der Wert, der in dieser year-Klasse gespeichert ist, im gültigen Bereich liegt.
constexpr bool ok() const noexcept;
Rückgabewert
true wenn sich der Jahreswert im Bereich [-32676, 32767] befindet. Andernfalls false.
operator+
Anwenden eines unären Pluszeichens.
constexpr year operator+() const noexcept;
Rückgabewert
Gibt *this zurück.
Beispiel: unär 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++
Addieren Sie 1 zum Jahreswert.
1) constexpr year& operator++() noexcept;
2) constexpr year operator++(int) noexcept;
Rückgabewert
1) Gibt den Verweis auf dieses Jahr zurück, nachdem es erhöht wurde (ein Postfix-Inkrement).
2) Gibt eine Kopie der year, 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()
{
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
Hinweise
Wenn das inkrementierte Ergebnis 32767 überschreitet, überläuft es auf -32768
operator-
Unär minus. Verwerfen Sie die year.
constexpr year operator-() const noexcept; // C++20
Rückgabewert
Gibt eine negierte Kopie der .year
Beispiel: unär 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--
Subtrahieren Sie 1 vom Jahreswert.
1) constexpr year& operator--() noexcept;
2) constexpr year operator--(int) noexcept;
Rückgabewert
1) Ein Verweis darauf year , nachdem er dekrementiert wurde (eine Postfix-Dekrementierung).
2) Eine Kopie der year vor ihr dekrementierten (Präfix-Dekrementierung).
Beispiel: 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
Hinweise
Wenn das verringerte Ergebnis kleiner als -32768 ist, wird es auf 32767 festgelegt.
operator+=
Fügen Sie dieser yearDatei Tage hinzu.
constexpr year& operator+=(const years& y) noexcept;
Parameter
y
Die Anzahl der hinzuzufügenden Jahre.
Rückgabewert
*this Wenn das inkrementierte Ergebnis 32767 überschreitet, überläuft es auf -32768.
operator-=
Subtrahieren Sie Tage von diesem year.
constexpr year& operator-=(const years& y) noexcept;
Parameter
y
Die Anzahl der Jahre, die subtrahiert werden sollen.
Rückgabewert
*this. Wenn das verringerte Ergebnis kleiner als -32768 ist, wird es auf 32767 festgelegt.
operator int
Rufen Sie den year Wert ab.
explicit constexpr operator int() const noexcept;
Rückgabewert
Der Wert des year
Beispiel: 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
Siehe auch
<chrono>
year_month
year_month_day
year_month_day_last
year_month_weekday
year_month_weekday_last
Headerdateienreferenz