Aracılığıyla paylaş


day sınıfı

Ayın gününü temsil eder. Örneğin, ayın 25. günü.

Sözdizimi

class day; // C++20

Açıklamalar

Normalde day [1, 31] aralığındaki değerleri tutar. Bu aralığın dışında negatif olmayan değerler barındırabilir, ancak [0, 255] aralığında değilse davranış belirtilmez.

Üyeler

İsim Açıklama
Kurucular oluşturma day.
ok Gün değerinin geçerli [1,31] aralığında olduğunu doğrulayın.
operator++ Bunu dayartır.
operator+= Belirtilen gün sayısını bu dayöğesine ekleyin.
operator-- 'yi azaltma day.
operator-= Belirtilen gün sayısını bundan çıkarın day
operator unsigned Gün değerini işaretsiz bir tamsayı olarak alır.

Üye olmayanlar

İsim Açıklama
from_stream Belirtilen biçimi kullanarak verilen akıştan bir day ayrıştırın.
operator+ Yeni bir day nesne döndüren bu dayöğesine belirtilen gün sayısını ekleyin.
operator- Yeni bir day nesne döndürerek belirtilen gün sayısını bu daydeğerden çıkarın.
operator== İki day örneğin eşit olup olmadığını belirleyin.
operator<=> Bunu day başka bir dayile karşılaştırın. İşleçler >, >=, <=, <, != derleyici tarafından sentezlenir.
operator<< Verilen akışa a day çıkışı.
operator""d day Ay içindeki bir gün için değişmez değer oluşturma.

Gereksinimler

Üstbilgi:<chrono> (C++20'den itibaren)

Ad uzayı:std::chrono

Derleyici Seçeneği:/std:c++latest

Kurucular

Bir dayoluşturur.

1) day() = default;
2) explicit constexpr day(unsigned d) noexcept;

Parametreler

d
değeriyle daybir d oluşturur.

Açıklamalar

1) Varsayılan oluşturucu gün değerini başlatmaz.
2) olarak başlatılan daygün değeriyle bir d oluşturur.

Örnek: Oluşturma 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

Burada day depolanan değerin geçerli aralıkta olup olmadığını denetleyin.

constexpr bool ok() const noexcept;

Dönüş değeri

true gün değeri [1,31] aralığındaysa. Aksi takdirde false.

operator++

Gün değerine 1 ekleyin.

1) constexpr std::chrono::day& operator++() noexcept;
2) constexpr std::chrono::day operator++(int) noexcept;

Dönüş değeri

1) Artırıldıktan *thisday başvuru (sonek artışı).
2) day öğesinin bir kopyası (bir ön ek artışı).

Örnek: 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

Açıklamalar

Artımlı sonuç [0, 255] aralığının dışındaysa depolanan değer belirtilmez.

operator--

Gün değerinden 1 çıkarın.

1) constexpr std::chrono::day& operator--() noexcept;
2) constexpr std::chrono::day operator--(int) noexcept;

Dönüş değeri

1) Geri *this güne başvuru (sonek azaltma).
2) *day öğesinin bir kopyası (bir ön ek azaltma).

Örnek: 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

Açıklamalar

Azalan sonuç [0, 255] aralığının dışındaysa, depolanan değer belirtilmez.

operator+=

Buna daygün ekleyin.

constexpr day& operator+=(const days& d) noexcept;

Parametreler

d
Eklenecek gün sayısı.

Dönüş değeri

*this

Sonuç [0, 255] aralığının dışındaysa depolanan değer belirtilmez.

operator-=

Günlerini buradan dayçıkarın.

constexpr day& operator-=(const days& d) noexcept;

Parametreler

d
Çıkarılana gün sayısı.

Dönüş değeri

*this. Sonuç [0, 255] aralığının dışındaysa depolanan değer belirtilmez.

operator unsigned

day Değeri alın.

explicit constexpr operator unsigned() const noexcept;

Dönüş değeri

öğesinin değeri day

Örnek: 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

Ayrıca bakınız

<chrono>
month_day sınıf
month_day_last sınıf
year_month_day
year_month_day_last
Üst Bilgi Dosyaları Başvurusu