名前付き要件:DefaultConstructible
提供: cppreference.com
その型のインスタンスがデフォルト構築可能であることを指定します。
[編集]要件
以下の内容を満たす場合、型 T
は DefaultConstructible を満たします。
- 任意の識別子
u
が与えられたとき、以下の式が有効でなければならず、指定された効果を持たなければなりません。
式 | 事後条件 |
---|---|
T u | オブジェクト u がデフォルト初期化される。 |
T u{} | オブジェクト u が値初期化または集成体初期化される。 |
T() T{} | T 型の一時オブジェクトが値初期化または集成体初期化される。 |
[編集]ノート
非集成体クラス型のオブジェクトの場合は、 DefaultConstructible を満たすためにはパブリックなデフォルトコンストラクタが (ユーザによりまたは暗黙に) 定義されなければなりません。
非クラスオブジェクト型の非 const オブジェクトは必ず DefaultConstructible です。
const な非クラス型は DefaultConstructible ではありません。
const な集成体型は、そのメンバのいずれかが非クラス型のオブジェクトの場合、 DefaultConstructible ではありません。
非オブジェクト型 (関数型、参照型、 void 型および cv 修飾付きの void 型) および const な非オブジェクト型は DefaultConstructible となることはありません。
[編集]関連項目
型がデフォルトコンストラクタを持っているかどうか調べます (クラステンプレート) |