Delen via


day klas

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