Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Klasa
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 monthelementu . |
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 monthobiektu , 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 monthelementu .
constexpr month& operator+=(const months& m) noexcept;
Parametry
m
Liczba miesięcy do dodania.
Wartość zwracana
*this
operator-=
Odejmij months z tego monthelementu .
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