Auteur: Vitaly Buturlin
Contenu:
Classe triviale
Les classes triviales ( La classe triviale ) - est une classe ou une structure dans laquelle les fonctions membres spéciales fournies par le compilateur (évidemment il n'y a pas mise en œuvre) ou explicitement défini comme un défaut. Il n'y a pas de code de contrôle dans une telle classe , car les fonctions membres spéciales sont déclarées (explicitement ou implicitement) comme triviales par défaut.
De plus, il y a des exigences supplémentaires, la classe triviale ne doit pas avoir:
fonctions virtuelles
classes de base non triviales
types de données non triviaux
Le mot «trivial» signifie la présence de:
fonctions membres spéciales triviales ( msdn )
Membres POD (voir ci-dessous)
Les classes triviales peuvent être copiées en toute sécurité avec des fonctions comme memcpy en toute précision.
La trivialité des fonctions membres (absence de code de contrôle) implique:
allocation de mémoire pour un objet sans initialisation
copie d'octets d'un objet
libérer de la mémoire sans nettoyer
Disposition standard
Structure standard ( disposition standard ) - une structure (struct), qui contient l'accessibilité C ++:
fonctions virtuelles et classes de base virtuelles
plusieurs niveaux d'accès (privé, protégé)
membres non statiques d'un type de référence
Structure standard:
n'a aucun membre non standard
n'a pas de classes de base qui ne sont pas une structure non standard
n'a pas plus d'une classe de base avec des membres de données non statiques
n'a pas deux emplacements pour déclarer des membres non statiques (par exemple, dans la classe de base et en elle-même)
n'a pas plus de deux classes de base (ou indirectement)
La structure standard a une structure de mémoire prévisible , car elle ne contient pas de données que le compilateur pourrait structurer à sa propre discrétion (par exemple, dans le cas de public / privé / protégé) - à la fois écrites et stockées en mémoire .
Auteur: Vitaly Buturlin