Espacios de nombres
Variantes
Acciones

std::default_initializable

De cppreference.com
< cpp‎ | concepts
Definido en el archivo de encabezado <concepts>
template<class T >

concept default_initializable =std::constructible_from<T>&& requires { T{};}&&

                                /* T t; está bien formada, véase más abajo */;
(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

Especifica que una variable del tipo puede ser construida desde un conjunto de argumentos o vinculada a un conjunto de argumentos.
(concepto)[editar]
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)[editar]
close