__has_trivial_assign

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Typ-Trait-Funktionen (C++11) - Index


Kategorie

Typ-Trait-Funktionen

Syntax

bool __has_trivial_assign (typename T )

Gibt true zurück, wenn und nur wenn T ein trivialer Kopierzuweisungsoperator ist.

Fehler, wenn T ein unvollständiger Typ ist.

Die Definition aus Abschnitt 20.4.4.3 des Working Draft stellt fest, dass ein Typ T einen trivialen Kopierzuweisungsoperator hat, wenn T weder const noch ein Referenztyp ist und T:

  • ein skalarer Typ (oder ein Array davon) ist oder
  • ein Klassentyp mit einem trivialen Kopierzuweisungsoperator ist.

Gemäß dem Abschnitt 21.8 S. 11 des Working Draft ist ein Kopierzuweisungsoperator für die Klasse X trivial, wenn:

  • er nicht vom Benutzer bereitgestellt wurde
  • die Klasse X keine virtuellen Funktionen hat
  • die Klasse X keine virtuellen Basisklassen hat
  • jede direkte Basisklasse von X einen trivialen Kopierzuweisungsoperator hat
  • jeder Klassentyp einen trivialen Kopierzuweisungsoperator für alle nicht-statischen Daten-Member von X hat, die Klassentypen (oder ein Array davon) sind.

Ein Kopierzuweisungsoperator ist nicht vom Benutzer bereitgestellt, wenn er implizit deklariert oder inline als = default; definiert wurde.

Ox-Interaktion false, wenn der Kopierzuweisungsoperator als gelöscht definiert ist.

Ox-Interaktion false, wenn der Kopierzuweisungsoperator als gelöscht definiert ist.

Ox-Interaktion false, wenn der Standardkonstruktor als gelöscht definiert ist.

Ox-Interaktion mit Standardfunktionsdefinitionen.

Siehe auch