std:: default_initializable
| 
           定义于头文件
            
            
             <concepts>
            
            | ||
| 
           
            
             template
            
            
             <
            
            
             class
            
            T
            
             >
            
             
             concept default_initializable
             
              =
             
             
              
               std::
               
                constructible_from
               
              
             
             
              <
             
             T
             
              >
             
             
              &&
             
             requires
             
              {
             
             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]
 
- 
           18.4.12 概念
           
- C++20 标准 (ISO/IEC 14882:2020):
- 
         - 
           18.4.12 概念
           default_initializable[concept.default.init]
 
- 
           18.4.12 概念
           
参见
| 
           
            
             
              (C++20)
             
            
           
           | 指定该类型的变量可以从一组实参类型构造或绑定 (概念) | 
| 
           
            
             
              (C++11)
             
            
            
             
              (C++11)
             
            
            
             
              (C++11)
             
            
           
           | 检查类型是否拥有默认构造函数 (类模板) |