Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Representerar en dag i månaden. Till exempel den 25:e dagen i månaden.
Syntax
class day; // C++20
Anmärkningar
En day innehåller normalt värden i intervallet [1, 31]. Det kan innehålla icke-negativa värden utanför det här intervallet, men beteendet är ospecificerat om det inte ligger inom intervallet [0, 255].
Medlemmar
| Namn | Beskrivning |
|---|---|
| Konstruktörer | Konstruera en day. |
ok |
Kontrollera att dagsvärdet är inom det giltiga intervallet [1,31]. |
operator++ |
Öka den här day. |
operator+= |
Lägg till det angivna antalet dagar i detta day. |
operator-- |
dayMinska . |
operator-= |
Subtrahera det angivna antalet dagar från detta day |
operator unsigned |
Hämta dagsvärdet som ett osignerat heltal. |
Icke-medlemmar
| Namn | Beskrivning |
|---|---|
from_stream |
Parsa en day från den angivna strömmen med det angivna formatet. |
operator+ |
Lägg till angivet antal dagar i det här dayoch returnera ett nytt day objekt. |
operator- |
Subtrahera det angivna antalet dagar från detta dayoch returnera ett nytt day objekt. |
operator== |
Avgör om två day instanser är lika med. |
operator<=> |
Jämför detta day med en annan day. Operatorerna >, >=, <=, <, != syntetiseras av kompilatorn. |
operator<< |
Mata ut en day till den angivna strömmen. |
operator""d |
Skapa en day literal för en dag i månaden. |
Kravspecifikation
Rubrik:<chrono> (sedan C++20)
Namespace:std::chrono
kompilatoralternativ:/std:c++latest
Konstruktörer
Konstruerar en day.
1) day() = default;
2) explicit constexpr day(unsigned d) noexcept;
Parameterar
d
Skapa en day med värdet d.
Anmärkningar
1) Standardkonstruktorn initierar inte dagsvärdet.
2) Skapa en day med dagsvärdet initierat till d.
Exempel: Skapa en 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
Kontrollera om värdet som lagras i den här day finns i det giltiga intervallet.
constexpr bool ok() const noexcept;
Returvärde
true om dagsvärdet ligger i intervallet [1,31]. Annars, false.
operator++
Lägg till 1 i dagsvärdet.
1) constexpr std::chrono::day& operator++() noexcept;
2) constexpr std::chrono::day operator++(int) noexcept;
Returvärde
1) En referens till *thisdaynär den har ökats (ett postfixsteg).
2) En kopia av day, innan den har ökats (ett prefixsteg).
Exempel: 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
Anmärkningar
Om det inkrementerade resultatet ligger utom intervallet [0, 255] är det lagrade värdet ospecificerat.
operator--
Subtrahera 1 från dagsvärdet.
1) constexpr std::chrono::day& operator--() noexcept;
2) constexpr std::chrono::day operator--(int) noexcept;
Returvärde
1) En referens till dagen *this att den har minskats (en postfixdekantering).
2) En kopia av *day, innan den har minskats (en prefixdeprerement).
Exempel: 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
Anmärkningar
Om det decrementerade resultatet ligger utom intervallet [0, 255] är det lagrade värdet ospecificerat.
operator+=
Lägg till dagar i detta day.
constexpr day& operator+=(const days& d) noexcept;
Parameterar
d
Antalet dagar som ska läggas till.
Returvärde
*this
Om resultatet ligger utanför intervallet [0, 255] är det lagrade värdet ospecificerat.
operator-=
Subtrahera dagar från detta day.
constexpr day& operator-=(const days& d) noexcept;
Parameterar
d
Antalet dagar som ska subtraheras.
Returvärde
*this. Om resultatet ligger utanför intervallet [0, 255] är det lagrade värdet ospecificerat.
operator unsigned
Hämta värdet för day.
explicit constexpr operator unsigned() const noexcept;
Returvärde
Värdet för day
Exempel: 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
Se även
<chrono>
Klassen month_day
Klassen month_day_last
year_month_day
year_month_day_last
referens för huvudfiler