Klasa day
Reprezentuje dzień miesiąca. Na przykład 25 dzień miesiąca.
Składnia
class day; // C++20
Uwagi
Zwykle day
wartości są przechowywane w zakresie [1, 31]. Może zawierać wartości inne niż ujemne poza tym zakresem, ale zachowanie nie jest określone, jeśli nie mieści się w zakresie [0, 255].
Elementy członkowskie
Nazwa/nazwisko | opis |
---|---|
Konstruktory | Skonstruuj element day . |
ok |
Sprawdź, czy wartość dnia znajduje się w prawidłowym zakresie [1,31]. |
operator++ |
Zwiększ tę wartość day . |
operator+= |
Dodaj określoną liczbę dni do tego day elementu . |
operator-- |
Dekrementuj wartość day . |
operator-= |
Odejmij określoną liczbę dni od tej day |
operator unsigned |
Pobierz wartość dnia jako niepodpisaną liczbę całkowitą. |
Inne niż elementy członkowskie
Nazwa/nazwisko | opis |
---|---|
from_stream |
Przeanalizuj element day z danego strumienia przy użyciu określonego formatu. |
operator+ |
Dodaj określoną liczbę dni do tego day obiektu , zwracając nowy day obiekt. |
operator- |
Odejmij określoną liczbę dni od tego day obiektu , zwracając nowy day obiekt. |
operator== |
Ustal, czy dwa day wystąpienia są równe. |
operator<=> |
Porównaj to day z innym elementem day . Operatory >, >=, <=, <, != są syntetyzowane przez kompilator. |
operator<< |
day Wyprowadź element do danego strumienia. |
operator""d |
Utwórz literał day dla dnia w miesiącu. |
Wymagania
Nagłówek: <chrono>
(od C++20)
Przestrzeń nazw: std::chrono
Opcja kompilatora: /std:c++latest
Konstruktory
Tworzy element day
.
1) day() = default;
2) explicit constexpr day(unsigned d) noexcept;
Parametry
d
Skonstruuj element day
o wartości d
.
Uwagi
1) Domyślny konstruktor nie inicjuje wartości dnia.
2) Skonstruuj wartość z wartością day
dnia zainicjowaną na .d
Przykład: tworzenie elementu day
// 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
Sprawdź, czy wartość przechowywana w tym day
zakresie znajduje się w prawidłowym zakresie.
constexpr bool ok() const noexcept;
Wartość zwracana
true
jeśli wartość dnia znajduje się w zakresie [1,31]. W przeciwnym razie wartość false
.
operator++
Dodaj wartość 1 do dnia.
1) constexpr std::chrono::day& operator++() noexcept;
2) constexpr std::chrono::day operator++(int) noexcept;
Wartość zwracana
1) Odwołanie do *this
day
po jego przyrostku (przyrostek).
2) Kopia elementu day
, przed jej przyrostem (przyrostem prefiksu).
Przykład: 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
Uwagi
Jeśli przyrostowy wynik jest poza zakresem [0, 255], przechowywana wartość jest nieokreślona.
operator--
Odejmij 1 od wartości dnia.
1) constexpr std::chrono::day& operator--() noexcept;
2) constexpr std::chrono::day operator--(int) noexcept;
Wartość zwracana
1) Odwołanie do *this
dnia po jego dekrementacji (dekrementacja postfiksu).
2) Kopia obiektu *day
, zanim została zdekrementowana (dekrementacja prefiksu).
Przykład: 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
Uwagi
Jeśli zdekrementowany wynik jest poza zakresem [0, 255], przechowywana wartość jest nieokreślona.
operator+=
Dodaj dni do tego day
elementu .
constexpr day& operator+=(const days& d) noexcept;
Parametry
d
Liczba dni do dodania.
Wartość zwracana
*this
Jeśli wynik znajduje się poza zakresem [0, 255], przechowywana wartość jest nieokreślona.
operator-=
Odejmij dni od tego day
.
constexpr day& operator-=(const days& d) noexcept;
Parametry
d
Liczba dni do odejmowania.
Wartość zwracana
*this
. Jeśli wynik znajduje się poza zakresem [0, 255], przechowywana wartość jest nieokreślona.
operator unsigned
day
Pobierz wartość.
explicit constexpr operator unsigned() const noexcept;
Wartość zwracana
Wartość elementu day
Przykład: 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
Zobacz też
<chrono>
Klasa month_day
Klasa month_day_last
year_month_day
year_month_day_last
Odwołanie do plików nagłówka