month_day_last() = delete; // (1) C++20
constexpr explicit month_day_last(
const chrono::month& m) noexcept; // (2) C++20
month_day_last(const month_day_last&) = default; // (3) C++20
month_day_last(month_day_last&&) = default; // (4) C++20
概要
- (1) : デフォルトコンストラクタ。定義されない
- (2) : 月の値を指定して構築する
- (3) : コピーコンストラクタ
- (4) : ムーブコンストラクタ
効果
- (2) :
m
をメンバ変数として保持する
例外
投げない
例
#include <cassert>
#include <chrono>
namespace chrono = std::chrono;
using namespace std::chrono_literals;
int main()
{
// 月のカレンダー要素を指定して構築
chrono::month_day_last mdl1{chrono::March};
chrono::month_day_last mdl2{chrono::month{3}};
assert(mdl1 == chrono::March/chrono::last);
assert(mdl2 == chrono::March/chrono::last);
}
15
#include <cassert>
#include <chrono>
namespace chrono = std::chrono;
using namespace std::chrono_literals;
int main()
{
// 月のカレンダー要素を指定して構築
chrono::month_day_last mdl1{chrono::March};
chrono::month_day_last mdl2{chrono::month{3}};
assert(mdl1 == chrono::March/chrono::last);
assert(mdl2 == chrono::March/chrono::last);
}
出力
バージョン
言語
- C++20
処理系
- Clang: 8.0 ✅
- GCC: 11.1 ✅
- Visual C++: 2019 Update 3 ❌