名前空間
変種
操作

std::default_initializable

From cppreference.com
< cpp‎ | concepts
 
 
 
ヘッダ <concepts> で定義
template< class T >

concept default_initializable = std::constructible_from<T> && requires { T{}; } &&

                                /* T t; が適格であるかどうかは以下を参照 */;
(C++20以降)

default_initializableコンセプトは、型Tの変数が以下の方法で

アクセス検査は、Tとは無関係なコンテキストで行われたかのように実行されます。変数の初期化の直接的なコンテキストの有効性のみが考慮されます。

[編集] 実装例

template<class T>
concept default_initializable =
    std::constructible_from<T> &&
    requires { T{}; ::new T; };

[編集] 参照

  • C++23標準 (ISO/IEC 14882:2024)
  • 18.4.12 Concept default_initializable [concept.default.init]
  • C++20 standard (ISO/IEC 14882:2020)
  • 18.4.12 Concept default_initializable [concept.default.init]

[編集] 関連項目

その型の変数が、一連の引数型から構築可能、または束縛可能であることを規定する
(コンセプト) [編集]
型がデフォルトコンストラクタを持つかをチェックする
(クラステンプレート) [編集]
English 日本語 中文(简体) 中文(繁體)