__has_trivial_destructor
Remonter à Fonctions trait de type (C++11) - Index
Catégorie
Fonctions trait de type
Syntaxe
bool __has_trivial_destructor (typename T )
Renvoie true si et seulement si T a un destructeur trivial.
Erreur si T est un type incomplet.
Remarque : La définition des notes 20.4.4.3 comporte un type T qui a un destructeur trivial si T est inclus dans la liste suivante :
- un type scalaire (ou array thereof)
- un type scalaire (ou array thereof)
- un tableau de type classe avec un destructeur trivial
- un tableau de type classe avec un destructeur trivial
- un type classe avec un destructeur trivial
Selon la section 12.4, p 3 du Working Draft, un destructeur pour la classe X est trivial si :
- il n'est pas fourni par l'utilisateur
- la classe X n'a pas de fonctions virtuelles
- la classe X n'a pas de classes de base virtuelles
- toutes les classes de base directes de sa classe ont un destructeur trivial
- pour tous les membres de données non-statiques de sa classe qui sont de type classe (ou array thereof), chaque classe a un destructeur trivial.
Un destructeur n'est pas fourni par l'utilisateur s'il est implicitement déclaré, ou défini inline comme = default;
Interaction Ox false si le destructeur est défini comme supprimé.
Interaction Ox avec les définitions de fonction par défaut.