year
kelas
Mewakili setahun dalam kalender Gregorian.
Sintaks
class year; // C++20
Keterangan
Dapat year
menyimpan nilai tahun antara -32767 hingga 32767.
Anggota
Nama | Deskripsi |
---|---|
Konstruktor | Membuat year |
is_leap |
Tentukan apakah tahun ini adalah tahun kampung. |
max |
Mengembalikan nilai tahun terbesar yang mungkin. |
min |
Mengembalikan nilai tahun sekecil mungkin. |
ok |
Verifikasi bahwa nilai tahun berada dalam rentang yang valid [-32767, 32767]. |
operator+ |
Nilai tambah unary. |
operator++ |
Menaikkan tahun. |
operator+= |
Tambahkan jumlah tahun yang ditentukan ke ini year . |
operator- |
Minus tidak biasa. |
operator-- |
Keputusan tahun ini. |
operator-= |
Kurangi jumlah tahun yang ditentukan dari ini year . |
operator int |
Dapatkan nilainya year . |
Non-anggota
Nama | Deskripsi |
---|---|
from_stream |
Mengurai year dari aliran menggunakan format yang ditentukan |
operator+ |
Tambahkan tahun. |
operator- |
Mengurangi tahun. |
operator== |
Tentukan apakah dua tahun sama. |
operator<=> |
Bandingkan ini year dengan yang lain year . Operator >, >=, <=, <, != disintesis oleh pengkompilasi. |
operator<< |
Keluarkan year ke aliran yang diberikan. |
operator""y |
Buat year harfiah. |
Persyaratan
Header: <chrono>
(sejak C++20)
kumpulan nama XML: std::chrono
Opsi Pengkompilasi: /std:c++latest
Konstruktor
year
Buat .
1) year() = default;
2) explicit constexpr year(unsigned y) noexcept;
Parameter
y
Buat year
dengan nilai y
.
Keterangan
1) Konstruktor default tidak menginisialisasi year
nilai.
2) Buat year
dengan nilai yang ditentukan.
Contoh: Membuat 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
Periksa apakan nilai yang disimpan dalam year
ini berada dalam rentang yang valid.
constexpr bool is_leap() const noexcept;
Nilai hasil
true
jika nilai tahun adalah tahun kampung. Sebaliknya, false
.
Tahun kampung adalah tahun yang dapat dibagi dengan 4 tetapi tidak 100 --atau dibagi dengan 400.
max
Mengembalikan tahun terbesar yang mungkin.
static constexpr year max() noexcept;
Nilai hasil
year{32767}
min
Mengembalikan tahun sekecil mungkin.
static constexpr year min() noexcept;
Nilai hasil
year{-32767}
ok
Periksa apakan nilai yang disimpan dalam year
ini berada dalam rentang yang valid.
constexpr bool ok() const noexcept;
Nilai hasil
true
jika nilai tahun berada dalam rentang [-32676, 32767]. Sebaliknya, false
.
operator+
Terapkan nilai tambah unary.
constexpr year operator+() const noexcept;
Nilai hasil
Mengembalikan *this
Contoh: unary 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++
Tambahkan 1 ke nilai tahun.
1) constexpr year& operator++() noexcept;
2) constexpr year operator++(int) noexcept;
Nilai hasil
1) Mengembalikan referensi ke tahun ini setelah ditingkatkan (kenaikan postfix).
2) Mengembalikan salinan year
, sebelum dinaikkan (kenaikan awalan).
Contoh: 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
Keterangan
Jika hasil yang bertahap melebihi 32767, hasilnya meluap ke -32768
operator-
Minus tidak biasa. Meniadakan year
.
constexpr year operator-() const noexcept; // C++20
Nilai hasil
Mengembalikan salinan yang dinegasikan dari year
.
Contoh: unary 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--
Kurangi 1 dari nilai tahun.
1) constexpr year& operator--() noexcept;
2) constexpr year operator--(int) noexcept;
Nilai hasil
1) Referensi untuk ini year
setelah dinyatakan (penurunan pascafiks).
2) Salinan year
sebelum dinyatakan (keputusan awalan).
Contoh: 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
Keterangan
Jika hasil yang dinyatakan kurang dari -32768, hasilnya diatur ke 32767.
operator+=
Tambahkan hari ke ini year
.
constexpr year& operator+=(const years& y) noexcept;
Parameter
y
Jumlah tahun yang akan ditambahkan.
Nilai hasil
*this
Jika hasil bertahap melebihi 32767, hasilnya meluap ke -32768.
operator-=
Kurangi hari dari ini year
.
constexpr year& operator-=(const years& y) noexcept;
Parameter
y
Jumlah tahun yang akan dikurangi.
Nilai hasil
*this
. Jika hasil yang dinyatakan kurang dari -32768, hasilnya diatur ke 32767.
operator int
Dapatkan nilainya year
.
explicit constexpr operator int() const noexcept;
Nilai hasil
Nilai year
Contoh: 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
Lihat juga
<chrono>
year_month
year_month_day
year_month_day_last
year_month_weekday
year_month_weekday_last
Referensi File Header