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 |