Klasa year
Reprezentuje rok w kalendarzu gregoriańskim.
Składnia
class year; // C++20
Uwagi
Wartość year
roku może zawierać od -32767 do 32767.
Elementy członkowskie
Nazwa/nazwisko | opis |
---|---|
Konstruktory | Konstruowanie year |
is_leap |
Ustal, czy rok jest rokiem przestępnym. |
max |
Zwraca największą możliwą wartość roku. |
min |
Zwraca najmniejszą możliwą wartość roku. |
ok |
Sprawdź, czy wartość roku znajduje się w prawidłowym zakresie [-32767, 32767]. |
operator+ |
Jednoargumentowy plus. |
operator++ |
Zwiększa rok. |
operator+= |
Dodaj określoną liczbę lat do tego year elementu . |
operator- |
Jednoargumentowy minus. |
operator-- |
Dekrementacja roku. |
operator-= |
Odejmij określoną liczbę lat od tego year . |
operator int |
year Pobierz wartość. |
Inne niż elementy członkowskie
Nazwa/nazwisko | opis |
---|---|
from_stream |
Analizowanie strumienia year przy użyciu określonego formatu |
operator+ |
Dodaj lata. |
operator- |
Odejmowanie lat. |
operator== |
Ustal, czy dwa lata są równe. |
operator<=> |
Porównaj to year z innym elementem year . Operatory >, >=, <=, <, != są syntetyzowane przez kompilator. |
operator<< |
year Wyprowadź element do danego strumienia. |
operator""y |
Utwórz literał year . |
Wymagania
Nagłówek: <chrono>
(od C++20)
Przestrzeń nazw: std::chrono
Opcja kompilatora: /std:c++latest
Konstruktory
Skonstruuj element year
.
1) year() = default;
2) explicit constexpr year(unsigned y) noexcept;
Parametry
y
Skonstruuj element year
o wartości y
.
Uwagi
1) Domyślny konstruktor nie inicjuje year
wartości.
2) Konstruowanie elementu year
z określoną wartością.
Przykład: tworzenie elementu year
// 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
Sprawdź, czy wartość przechowywana w tym year
zakresie znajduje się w prawidłowym zakresie.
constexpr bool is_leap() const noexcept;
Wartość zwracana
true
jeśli wartość roku jest rokiem przestępnym. W przeciwnym razie wartość false
.
Rok przestępny jest dzielny przez 4, ale nie 100-- lub jest podzielny przez 400.
max
Zwraca największy możliwy rok.
static constexpr year max() noexcept;
Wartość zwracana
year{32767}
min
Zwraca najmniejszy możliwy rok.
static constexpr year min() noexcept;
Wartość zwracana
year{-32767}
ok
Sprawdź, czy wartość przechowywana w tym year
zakresie znajduje się w prawidłowym zakresie.
constexpr bool ok() const noexcept;
Wartość zwracana
true
jeśli wartość roku znajduje się w zakresie [-32676, 32767]. W przeciwnym razie wartość false
.
operator+
Zastosuj jednoargumentowy plus.
constexpr year operator+() const noexcept;
Wartość zwracana
Zwraca *this
Przykład: jednoargumentowy 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++
Dodaj wartość 1 do wartości roku.
1) constexpr year& operator++() noexcept;
2) constexpr year operator++(int) noexcept;
Wartość zwracana
1) Zwraca odwołanie do tego roku po jego przyrostku (przyrostek).
2) Zwraca kopię year
elementu , zanim został on przyrostowy (przyrostowy prefiks).
Przykład: 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
Uwagi
Jeśli przyrostowy wynik przekroczy 32767, przepełni się do -32768
operator-
Jednoargumentowy minus. Neguj element year
.
constexpr year operator-() const noexcept; // C++20
Wartość zwracana
Zwraca negowaną kopię elementu year
.
Przykład: jednoargumentowy 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--
Odejmij 1 od wartości roku.
1) constexpr year& operator--() noexcept;
2) constexpr year operator--(int) noexcept;
Wartość zwracana
1) Odwołanie do tego year
po jego dekrementacji (dekrementacja postfiksu).
2) Kopia year
przed jej dekrementacji (dekrementacja prefiksu).
Przykład: 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
Uwagi
Jeśli dekrementowany wynik jest mniejszy niż -32768, jest ustawiony na 32767.
operator+=
Dodaj dni do tego year
elementu .
constexpr year& operator+=(const years& y) noexcept;
Parametry
y
Liczba lat do dodania.
Wartość zwracana
*this
Jeśli przyrostowy wynik przekroczy 32767, przepełni się do -32768.
operator-=
Odejmij dni od tego year
.
constexpr year& operator-=(const years& y) noexcept;
Parametry
y
Liczba lat do odejmowania.
Wartość zwracana
*this
. Jeśli dekrementowany wynik jest mniejszy niż -32768, jest ustawiony na 32767.
operator int
year
Pobierz wartość.
explicit constexpr operator int() const noexcept;
Wartość zwracana
Wartość elementu year
Przykład: 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
Zobacz też
<chrono>
year_month
year_month_day
year_month_day_last
year_month_weekday
year_month_weekday_last
Odwołanie do plików nagłówka