Namespaces
Variants

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

From cppreference.net
C++ named requirements

Spécifie qu'un type est un type à disposition standard. Les types à disposition standard sont utiles pour communiquer avec du code écrit dans d'autres langages de programmation.

Note : la norme ne définit pas d'exigence nommée avec ce nom. Il s'agit d'une catégorie de type définie par le langage de base. Elle est incluse ici comme exigence nommée uniquement par souci de cohérence.

Table des matières

Exigences

Les types suivants sont collectivement appelés types de disposition standard :

Propriétés

Voir Standard-layout .

Rapports de défauts

Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.

DR Appliqué à Comportement publié Comportement corrigé
CWG 1672 C++11 règle du premier membre de données non statique ignorée
existence de classes de base vides
règle du premier membre de données non statique
rendue récursive
CWG 1813 C++11 classe avec un membre défini dans une base indirecte
n'était pas techniquement standard-layout
toutes les déclarations de membres doivent être
dans la même classe
CWG 2120 C++11 tableau comme premier membre n'était pas considéré lors de
la comparaison du type du premier élément avec le type d'une base
les membres tableau sont considérés

Voir aussi

vérifie si un type est un type standard-layout
(modèle de classe)