__is_trivial
Nach oben zu Typ-Trait-Funktionen (C++11) - Index
Kategorie
Typ-Trait-Funktionen
Syntax
bool __is_trivial( typename T )
Gibt true zurück, wenn und nur wenn T ein trivialer Typ ist.
Fehler, wenn T ein unvollständiger Typ ist.
Triviale Typen werden im Abschnitt 3.9, S. 10 des Working Draft beschrieben.
Triviale Klassen werden im Abschnitt 9, S. 5 des Working Draft beschrieben.
Gibt true zurück, wenn T sowohl als const als auch als volatile qualifiziert ist.
Ein Typ ist trivial, wenn er:
- ein skalarer Typ ist
- ein Array mit trivialen Typen ist
- ein Klassen-/Variantentyp ist, wobei alle 4 speziellen Member trivial sind:
- Standardkonstruktor
- Kopierkonstruktor
- Kopierzuweisungsoperator
- Destruktor
Schlagen Sie in dieser Online-Hilfe die Definition für jedes __has_trivial_*-Trait nach.
Auf triviale Typen beziehen sich mehrere spezielle Klauseln im Standard, die sich auf die Codeerzeugung und -optimierung, oder einfach darauf auswirken können, ob bestimmte Konstrukte undefiniert sind.
Beachten Sie bitte, dass triviale Typen eine Generalisierung von PODs (Plain Old Data Objects) im 2003-Standard sind, falls die POD/trivial-Überarbeitung noch nicht ausgeführt wurde, wenn diese Typfunktion eingeführt wird.
Siehe auch
- C++11-Features - Index
- Überblick zu Typ-Trait-Funktionen (C++11)
- Working Draft — Standard for Programming Language C++ - http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2588.pdf
- __has_trivial_assign
- __has_trivial_copy_constructor
- __has_trivial_copy_constructor
- __has_trivial_default_constructor