C++ named requirements: StandardLayoutType (since C++11)
From cppreference.net
C++
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 :
- types scalaires
- types de classes à disposition standard
- tableaux de ces types
- versions qualifiées cv de ces types
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
|
(C++11)
|
vérifie si un type est un type
standard-layout
(modèle de classe) |