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 year ile 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 y
bir 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 year
bir 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ı year
dö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 year
gü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
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin