名稱空間
變體
操作

std::default_initializable

來自 cppreference.com
 
 
 
定義於標頭檔案 <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 概念 default_initializable [concept.default.init]
  • C++20 標準 (ISO/IEC 14882:2020)
  • 18.4.12 概念 default_initializable [concept.default.init]

[編輯] 另見

指定該型別的變數可以從一組引數型別構造或繫結
(概念) [編輯]
檢查型別是否具有預設建構函式
(類模板) [編輯]