table of contents
        
      
      
    | std::default_initializable(3) | C++ Standard Libary | std::default_initializable(3) | 
NAME¶
std::default_initializable - std::default_initializable
Synopsis¶
 Defined in header <concepts>
  
   template< class T >
  
   concept default_initializable = std::constructible_from<T> &&
    (since C++20)
  
   requires { T{}; } &&
  
   /* T t; is well-formed, see below */;
  
   The default_initializable concept checks whether variables of type T can
  be
  
   * value-initialized (T() is well-formed);
  
   * direct-list-initialized from an empty initializer list (T{} is
    well-formed); and
  
   * default-initialized (T t; is well-formed).
  
   Access checking is performed as if in a context unrelated to T. Only the
    validity of
  
   the immediate context of the variable initialization is considered.
Possible implementation¶
 template<class T>
  
   concept default_initializable =
  
   std::constructible_from<T> &&
  
   requires { T{}; } &&
  
   requires { ::new T; };
See also¶
 specifies that a variable of the type can be
  
   constructible_from constructed from or bound to a set of argument
  
   (C++20) types
  
   (concept)
  
   is_default_constructible
  
   is_trivially_default_constructible
  
   is_nothrow_default_constructible checks if a type has a default constructor
  
   (C++11) (class template)
  
   (C++11)
  
   (C++11)
| 2024.06.10 | http://cppreference.com |