Requisitos denominados de C++: ConstruiblePorDefecto
Especifica que un ejemplar del tipo puede construirse por defecto.
Requisitos
El tipo T satisface a ConstruiblePorDefecto si
Dado
u, un identificador arbitrario.
Las siguientes expresiones deben ser válidas y tener sus efectos especificados:
| Expresión | Poscondiciones |
|---|---|
T u
|
El objeto u es inicializado mediante la inicialización por defecto
|
T u{}
|
El objeto u es inicializado mediante la inicialización de un valor o la inicialización de agregado.
|
T()
|
Un objeto temporal de tipo T es inicializado mediante la inicialización de un valor o la inicialización de agregado.
|
Notas
Para objetos de tipo clase no-agregado, debe definirse un constructor por defecto público (ya sea definido por el usuario o implícitamente definido) para satisfacer a ConstruiblePorDefecto.
Los objetos no constantes (const) de un tipo objeto no-clase siempre son ConstruiblePorDefecto.
Los tipos constantes (const) no-clase no son ConstruiblePorDefecto.
Tipos constantes (const) agregados no son ConstruiblePorDefecto si cualquiera de sus miembros es un objeto de tipo no-clase.
Tipos no-objeto (tipos función, tipos referencia, y el tipo (que puede estar calificado const volatile) void) así como los tipos const no-objeto nunca son ConstruiblePorDefecto.
Informes de defectos
Los siguientes informes de defectos de cambio de comportamiento se aplicaron de manera retroactiva a los estándares de C++ publicados anteriormente.
| ID | Aplicado a | Comportamiento según lo publicado | Comportamiento correcto |
|---|---|---|---|
| LWG 724 | C++98 | Faltaban los requisitos de ConstruiblePorDefecto. | Añadidos. |
Véase también
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) | |
(C++20) |
especifica de un objeto de un tipo puede ser construido por defecto (concepto) |