- chrono[meta header]
- std::chrono[meta namespace]
- year_month_day_last[meta class]
- function[meta id-type]
- cpp20[meta cpp]
year_month_day_last() = delete; // (1) C++20
constexpr year_month_day_last(
const chrono::year& y,
const chrono::month_day_last& mdl) noexcept; // (2) C++20
year_month_day_last(const year_month_day_last&) = default; // (3) C++20
year_month_day_last(year_month_day_last&&) = default; // (4) C++20- chrono::year[link /reference/chrono/year.md]
- chrono::month_day_last[link /reference/chrono/month_day_last.md]
- (1) : デフォルトコンストラクタ。定義されない
- (2) : 年、月の最終日の値をそれぞれ指定して構築する
- (3) : コピーコンストラクタ
- (4) : ムーブコンストラクタ
- (2) :
y、mdlをメンバ変数として保持する
投げない
#include <cassert>
#include <chrono>
namespace chrono = std::chrono;
using namespace std::chrono_literals;
int main()
{
chrono::year_month_day_last date1{2020y, chrono::February/chrono::last};
chrono::year_month_day_last date2{chrono::year{2020}, chrono::last/chrono::month{2}};
assert(chrono::year_month_day{date1} == 2020y/2/29);
assert(chrono::year_month_day{date2} == 2020y/2/29);
}- 2020y[link /reference/chrono/year/op_y.md]
- chrono::February[link /reference/chrono/month_constants.md]
- chrono::year[link /reference/chrono/year.md]
- chrono::month[link /reference/chrono/month.md]
- chrono::last[link /reference/chrono/last_spec.md]
- chrono::year_month_day[link /reference/chrono/year_month_day.md]
- C++20
- Clang: 8.0
- GCC: 11.1
- Visual C++: (2019 Update 3時点で実装なし)