- chrono[meta header]
- std::chrono[meta namespace]
- year[meta class]
- function[meta id-type]
- cpp20[meta cpp]
year() = default; // (1) C++20
constexpr explicit year(int y) noexcept; // (2) C++20
year(const year&) = default; // (3) C++20
year(year&&) = default; // (4) C++20- (1) : デフォルトコンストラクタ
- (2) : 年を指定して
yearオブジェクトを構築する - (3) : コピーコンストラクタ
- (4) : ムーブコンストラクタ
- (1) :
- デフォルト初期化では符号なし整数の未初期化値となり、値初期化では値0となる
- (2) :
yを、年を表す値としてメンバ変数に保持するyが[-32767, 32767]の範囲外である場合、保持される値は未規定となる
投げない
#include <cassert>
#include <chrono>
namespace chrono = std::chrono;
int main()
{
chrono::year y{2020};
assert(static_cast<int>(y) == 2020);
}- C++20
- Clang: 8.0
- GCC: (9.2時点で実装なし)
- Visual C++: (2019 Update 3時点で実装なし)