Namespaces
Variants

C++ named requirements: StandardLayoutType (since C++11)

From cppreference.net
C++ named requirements

Especifica que un tipo es un tipo de diseño estándar. Los tipos de diseño estándar son útiles para comunicarse con código escrito en otros lenguajes de programación.

Nota: el estándar no define un requisito nombrado con este nombre. Esta es una categoría de tipo definida por el lenguaje central. Se incluye aquí como un requisito nombrado solo por consistencia.

Contenidos

Requisitos

Los siguientes tipos se denominan colectivamente standard-layout types :

Propiedades

Ver Standard-layout .

Informes de defectos

Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares publicados anteriormente de C++.

DR Aplicado a Comportamiento publicado Comportamiento correcto
CWG 1672 C++11 regla del primer miembro de datos no estático ignorada
existencia de clases base vacías
regla del primer miembro de datos no estático
hecha recursiva
CWG 1813 C++11 clase con un miembro definido en una base indirecta
no era técnicamente standard-layout
todas las declaraciones de miembros deben estar
en la misma clase
CWG 2120 C++11 array como primer miembro no se consideraba al
comparar el tipo del primer elemento con el tipo de una base
los miembros array son considerados

Véase también

verifica si un tipo es un tipo de diseño estándar
(plantilla de clase)