Aracılığıyla paylaş


year sınıfı

Gregoryen takvimdeki bir yılı temsil eder.

Sözdizimi

class year; // C++20

Açıklamalar

- year 32767 ile 32767 arasında bir yıl değeri tutabilir.

Üyeler

Veri Akışı Adı Açıklama
Oluşturucular Oluşturma year
is_leap Yılın artık yıl olup olmadığını belirler.
max Mümkün olan en büyük yıl değerini döndürür.
min Mümkün olan en küçük yıl değerini döndürür.
ok Yıl değerinin geçerli aralıkta olduğunu doğrulayın [-32767, 32767].
operator+ Birli artı.
operator++ Yılı artırma.
operator+= Belirtilen yıl sayısını bu yearöğesine ekleyin.
operator- Bir eksi.
operator-- Yılı azaltma.
operator-= Belirtilen yıl sayısını buradan yearçıkarın.
operator int year Değeri alın.

Üye olmayanlar

Veri Akışı Adı Açıklama
from_stream Belirtilen biçimi kullanarak bir year akıştan ayrıştırma
operator+ Yıl ekleyin.
operator- Yılları çıkarın.
operator== İki yılın eşit olup olmadığını belirleyin.
operator<=> Bunu year başka bir yearile karşılaştırın. İşleçler >, >=, <=, <, != derleyici tarafından sentezlenir.
operator<< Verilen akışa a year çıkışı.
operator""y Değişmez değer year oluşturma.

Gereksinimler

Üst bilgi: <chrono> (C++20'den beri)

Ad alanı: std::chrono

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

Oluşturucular

oluşturma year.

1) year() = default;
2) explicit constexpr year(unsigned y) noexcept;

Parametreler

y
değeriyle ybir year oluşturur.

Açıklamalar

1) Varsayılan oluşturucu değeri başlatmaz year .
2) Belirtilen değerle bir year oluşturur.

Örnek: Oluşturma year

// compile using: /std:c++latest
#include <iostream>
#include <chrono>

using namespace std::chrono;

int main()
{
    year y{2020};
    year y2 = 2021y;
    
    std::cout << y << ", " << y2;

    return 0;
}
2020, 2021

is_leap

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

constexpr bool is_leap() const noexcept;

Dönüş değeri

true yıl değeri artık yıl ise. Tersi durumda false. Artık yıl, 4 ile bölünebilen ancak 100'e bölünmeyen bir yıldır veya 400 ile bölünebilen bir yıldır.

max

Mümkün olan en büyük yılı döndürür.

static constexpr year max() noexcept;

Dönüş değeri

year{32767}

min

Mümkün olan en küçük yılı döndürür.

static constexpr year min() noexcept;

Dönüş değeri

year{-32767}

ok

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

constexpr bool ok() const noexcept;

Dönüş değeri

true yıl değeri [-32676, 32767] aralığındaysa. Tersi durumda false.

operator+

Birli artı uygulayın.

constexpr year operator+() const noexcept;

Dönüş değeri

Döndürür *this

Örnek: birli operator+

// compile using: /std:c++latest
#include <iostream>
#include <chrono>

using namespace std::chrono;

int main()
{
   year y{-1};
   std::cout << +y;
   return 0;
}
-0001

operator++

Yıl değerine 1 ekleyin.

1) constexpr year& operator++() noexcept;
2) constexpr year operator++(int) noexcept;

Dönüş değeri

1) Artırıldıktan sonra bu yıla başvuru döndürür (sonek artışı).
2) Artırılamadan önce öğesinin yearbir kopyasını döndürür (bir ön ek artışı).

Örnek: operator++

// compile using: /std:c++latest
#include <iostream>
#include <chrono>

using namespace std::chrono;

int main()
{
    year y{2021};

    std::cout << y << " " << ++y << "\n"; // constexpr year& operator++() noexcept
    std::cout << y << " " << y++ << "\n"; // constexpr year operator++(int) noexcept
    std::cout << y << "\n";
    return 0;
}
2021 2022
2022 2022
2023

Açıklamalar

Artımlı sonuç 32767'yi aşarsa -32768'e taşıyor

operator-

Bir eksi. öğesinin negate 'ini seçin year.

constexpr year operator-() const noexcept; // C++20

Dönüş değeri

öğesinin olumsuz bir kopyasını yeardöndürür.

Örnek: birli operator-

// compile using: /std:c++latest
#include <iostream>
#include <chrono>

using namespace std::chrono;

int main()
{
   year y{1977};
   std::cout << -y << '\n';

   return 0;
}
-1977

operator--

Yıl değerinden 1 çıkarın.

1) constexpr year& operator--() noexcept;
2) constexpr year operator--(int) noexcept;

Dönüş değeri

1) Geri alındıktan sonra buna year başvuru (sonek azaltma).
2) Azaltmadan önceki bir kopyası year (bir ön ek azaltma).

Örnek: operator--

// compile using: /std:c++latest
#include <iostream>
#include <chrono>

using namespace std::chrono;

int main()
{
   year y{2021};

    std::cout << y << " " << --y << "\n"; // constexpr year& operator++() noexcept
    std::cout << y << " " << y-- << "\n"; // constexpr year operator++(int) noexcept
    std::cout << y << "\n";

    return 0;
}
2021 2020
2020 2020
2019

Açıklamalar

Azalan sonuç -32768'den küçükse 32767 olarak ayarlanır.

operator+=

Buna yeargün ekleyin.

constexpr year& operator+=(const years& y) noexcept;

Parametreler

y
Eklenecek yıl sayısı.

Dönüş değeri

*this Artımlı sonuç 32767'yi aşarsa-32768'e taşılır.

operator-=

Günlerini buradan yearçıkarın.

constexpr year& operator-=(const years& y) noexcept;

Parametreler

y
Çıkaracak yıl sayısı.

Dönüş değeri

*this. Azalan sonuç -32768'den küçükse 32767 olarak ayarlanır.

operator int

year Değeri alın.

explicit constexpr operator int() const noexcept;

Dönüş değeri

öğesinin değeri year

Örnek: operator int()

// compile using: /std:c++latest

 #include <iostream>
#include <chrono>

using namespace std::chrono;

int main()
{
    year y{2020};
    int yearValue = static_cast<int>(y);
    std::cout << yearValue;

    return 0;
}
2020

Ayrıca bkz.

<chrono>
year_month
year_month_day
year_month_day_last
year_month_weekday
year_month_weekday_last
Üst Bilgi Dosyaları Başvurusu