◐ Shell
clean mode source ↗

Requisitos denominados de C++: ConstruiblePorDefecto

De cppreference.com

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()

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