std::default_initializable
De cppreference.com
Definido en el archivo de encabezado <concepts> | ||
template<class T > concept default_initializable =std::constructible_from<T>&& requires { T{};}&& | (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.
[editar]Posible implementación
template<class T> concept default_initializable =std::constructible_from<T>&& requires { T{};}&& requires {::new(static_cast<void*>(nullptr)) T;}; |
[editar]Véase también
(C++20) | Especifica que una variable del tipo puede ser construida desde un conjunto de argumentos o vinculada a un conjunto de argumentos. (concepto) |
Comprueba si un tipo tiene un constructor por defecto Original: checks if a type has a default constructor The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (plantilla de clase) |