std::default_initializable - cppreference.com
De cppreference.com
| Definido en el archivo de encabezado |
||
|
|
(desde C++20) | |
El concepto default_initializable (inicializable por defecto/construido por defecto) comprueba si las variables de tipo T pueden ser
- inicializadas por valor (la expresión
T()está bien formada); - inicializadas mediante la inicialización de lista directa a partir de una lista de inicializadores vacía (la expresión
T{}está bien formada); y - inicializadas por defecto (la expresión
T t;está bien formada).
Se realiza la comprobación de acceso como si lo fuera en un contexto no relacionado con T. Se considera solamente la validez del contexto inmediato de la inicialización de la variable.
Posible implementación
template<class T> concept default_initializable = std::constructible_from<T> && requires { T{}; } && requires { ::new (static_cast<void*>(nullptr)) T; };