Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Vertegenwoordigt een dag van de maand. Bijvoorbeeld de 25e dag van de maand.
Syntaxis
class day; // C++20
Opmerkingen
Een day waarde bevat normaal gesproken waarden in het bereik [1, 31]. Het kan niet-negatieve waarden buiten dit bereik bevatten, maar het gedrag is niet opgegeven als het niet binnen het bereik [0, 255] valt.
Leden
| Naam | Beschrijving |
|---|---|
| Constructeurs | Maak een day. |
ok |
Controleer of de dagwaarde zich in het geldige bereik bevindt [1,31]. |
operator++ |
Verhoog dit day. |
operator+= |
Voeg het opgegeven aantal dagen toe aan dit day. |
operator-- |
Degradatie van de day. |
operator-= |
Het opgegeven aantal dagen hiervan aftrekken day |
operator unsigned |
Haal de dagwaarde op als een geheel getal zonder teken. |
Niet-leden
| Naam | Beschrijving |
|---|---|
from_stream |
Parseert een day van de opgegeven stream met behulp van de opgegeven indeling. |
operator+ |
Voeg hier het opgegeven aantal dagen aan daytoe en retourneert een nieuw day object. |
operator- |
Trek het opgegeven aantal dagen af van dit day, wat een nieuw day object retourneert. |
operator== |
Bepaal of twee day exemplaren gelijk zijn. |
operator<=> |
Vergelijk dit day met een andere day. De >, >=, <=, <, != operators worden gesynthetiseerd door de compiler. |
operator<< |
Voer een day uitvoer uit naar de opgegeven stream. |
operator""d |
Maak een day letterlijke letterlijke gegevens voor een dag in de maand. |
Behoeften
Rubriek:<chrono> (sinds C++20)
naamruimte:std::chrono
compileroptie:/std:c++latest
Constructeurs
Maakt een day.
1) day() = default;
2) explicit constexpr day(unsigned d) noexcept;
Parameterwaarden
d
Maak een day met waarde d.
Opmerkingen
1) De standaardconstructor initialiseert de dagwaarde niet.
2) Maak een day met de dagwaarde geïnitialiseerd naar d.
Voorbeeld: Een day maken
// 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
Controleer of de waarde die is opgeslagen in deze day zich in het geldige bereik bevindt.
constexpr bool ok() const noexcept;
Retourwaarde
true als de dagwaarde zich in het bereik bevindt [1,31]. Anders false.
operator++
Voeg 1 toe aan de dagwaarde.
1) constexpr std::chrono::day& operator++() noexcept;
2) constexpr std::chrono::day operator++(int) noexcept;
Retourwaarde
1) Een verwijzing naar *thisdaynadat deze is verhoogd (een postfix increment).
2) Een kopie van de day, voordat deze is verhoogd (een voorvoegsel).
Voorbeeld: 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
Opmerkingen
Als het opgelopende resultaat buiten het bereik [0, 255] valt, wordt de opgeslagen waarde niet opgegeven.
operator--
Trek 1 af van de dagwaarde.
1) constexpr std::chrono::day& operator--() noexcept;
2) constexpr std::chrono::day operator--(int) noexcept;
Retourwaarde
1) Een verwijzing naar *this de dag nadat deze is afgebroken (een navoegseldecreatie).
2) Een kopie van de *day, voordat deze is afgebroken (een voorvoegseldecrement).
Voorbeeld: 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
Opmerkingen
Als het afgebroken resultaat buiten het bereik [0, 255] valt, wordt de opgeslagen waarde niet opgegeven.
operator+=
Voeg dagen aan dit daytoe.
constexpr day& operator+=(const days& d) noexcept;
Parameterwaarden
d
Het aantal dagen dat moet worden toegevoegd.
Retourwaarde
*this
Als het resultaat buiten het bereik [0, 255] valt, is de opgeslagen waarde niet opgegeven.
operator-=
Trek dagen af van deze day.
constexpr day& operator-=(const days& d) noexcept;
Parameterwaarden
d
Het aantal dagen dat moet worden afgetrokken.
Retourwaarde
*this. Als het resultaat buiten het bereik [0, 255] valt, is de opgeslagen waarde niet opgegeven.
operator unsigned
Haal de day waarde op.
explicit constexpr operator unsigned() const noexcept;
Retourwaarde
De waarde van de day
Voorbeeld: 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
Zie ook
<chrono>
month_day klas
month_day_last klas
year_month_day
year_month_day_last
headerbestanden