Klasa month
Reprezentuje miesiąc roku. Na przykład lipiec.
Składnia
class month; // C++20
Uwagi
Zwykle month
wartości są przechowywane w zakresie [1, 12]. Może również przechowywać wartości inne niż ujemne poza tym zakresem.
Zobacz Stałe miesiąc poniżej, aby uzyskać stałe, których można używać z klasą month
.
Elementy członkowskie
Nazwa/nazwisko | opis |
---|---|
Konstruktory | Skonstruuj element month . |
ok |
Sprawdź, czy wartość miesiąca znajduje się w prawidłowym zakresie [1,12]. |
operator++ |
Zwiększ wartość month . |
operator+= |
Dodaj określoną liczbę miesięcy do tego month elementu . |
operator-- |
Zdekrementuj ten plik month . |
operator-= |
Odejmij określoną liczbę miesięcy od tego month . |
operator unsigned |
month Pobierz wartość. |
Inne niż elementy członkowskie
Nazwa/nazwisko | opis |
---|---|
from_stream |
Przeanalizuj element month z danego strumienia przy użyciu określonego formatu. |
operator+ |
Dodaj określoną liczbę miesięcy do tego month obiektu , zwracając nowe month wystąpienie. |
operator- |
Odejmij określoną liczbę miesięcy od tego miesiąca. Zwraca nowe month wystąpienie. |
operator== |
Ustal, czy dwa miesiące są równe. |
operator<=> |
Porównaj ten miesiąc z innym miesiącem. Operatory >, >=, <=, <, != są syntetyzowane przez kompilator. |
operator<< |
month Wyprowadź element do danego strumienia. |
Wymagania
Nagłówek: <chrono>
(od C++20)
Przestrzeń nazw: std::chrono
Opcja kompilatora: /std:c++latest
Konstruktory
Skonstruuj element month
.
1) month() = default;
2) explicit constexpr month(unsigned m) noexcept;
Parametry
m
Skonstruuj element month
o wartości m
.
Uwagi
1) Domyślny konstruktor nie inicjuje wartości dnia.
2) Skonstruuj wartość z wartością month
dnia zainicjowaną na .m
ok
Sprawdź, czy wartość przechowywana w tym month
zakresie znajduje się w prawidłowym zakresie.
constexpr bool ok() const noexcept;
Wartość zwracana
true
jeśli wartość miesiąca znajduje się w zakresie [1,12]. W przeciwnym razie wartość false
.
operator++
Zwiększ wartość miesiąca.
1) constexpr month& operator++() noexcept;
2) constexpr month operator++(int) noexcept;
Wartość zwracana
1) Odwołanie do *this
miesiąca po jego przyrostku (przyrostek).
2) Kopia elementu month
, przed jej przyrostem (przyrostem prefiksu).
Przykład: 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
Uwagi
Jeśli wynik przekracza 12, jest ustawiony na 1.
operator--
Odejmij 1 od wartości miesiąca.
1) constexpr month& operator--() noexcept;
2) constexpr month operator--(int) noexcept;
Wartość zwracana
1) Odwołanie do *this
month
po jego dekrementacji (dekrementacja postfiksu).
2) Kopia month
przed jej dekrementacji (dekrementacja prefiksu).
Przykład: 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
Uwagi
Jeśli zdekrementowany wynik jest mniejszy niż 1, jest ustawiony na 12.
operator+=
Dodaj miesiące do tego month
elementu .
constexpr month& operator+=(const months& m) noexcept;
Parametry
m
Liczba miesięcy do dodania.
Wartość zwracana
*this
operator-=
Odejmij months
z tego month
elementu .
constexpr month& operator-=(const months& m) noexcept;
Parametry
m
Miesiące do odejmowania.
Wartość zwracana
*this
.
operator unsigned
Pobierz niepodpisaną month
wartość.
explicit constexpr operator unsigned() const noexcept;
Wartość zwracana
Niepodpisane wartości tego elementu month
Przykład: 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
Stałe miesiąca
(C++20) Nagłówek <chrono>
definiuje następujące stałe, których można używać z month
większą wygodą, bezpieczeństwem typu i konserwacyjnością kodu. Te stałe znajdują się w zakresie, gdy std::chrono
znajduje się w zakresie.
// 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};
Zobacz też
<chrono>
month_day
Klasa
month_day_last
Klasa
month_weekday
Klasa
Klasa month_weekday_last