C++ benannte Anforderungen: Destructible
Von cppreference.com
< cpp | benannte req
Gibt an, dass eine Instanz des Typs zerstört werden kann.
[bearbeiten] Anforderungen
Der Typ T erfüllt die Anforderung Destructible, wenn
Gegeben
-
u, ein Ausdruck vom TypT.
Die folgenden Ausdrücke müssen gültig sein und ihre angegebenen Effekte haben.
| Ausdruck | Nachbedingungen |
|---|---|
| u.~T() | Alle von u gehaltenen Ressourcen werden freigegeben, es werden keine Ausnahmen ausgelöst. |
[bearbeiten] Hinweise
Destruktoren werden implizit am Ende der Lebensdauer eines Objekts aufgerufen, z. B. beim Verlassen eines Gültigkeitsbereichs oder durch den delete-Ausdruck. Ein expliziter Aufruf des Destruktors, wie in der Tabelle der Typanforderungen gezeigt, ist selten.
Dank des Pseudo-Destruktoraufrufs erfüllen alle skalareren Typen die Anforderung Destructible, während Array-Typen und Referenztypen dies nicht tun. Beachten Sie, dass std::is_destructible Arrays und Referenztypen zulässt.
[bearbeiten] Siehe auch
| (C++11)(C++11)(C++11) |
prüft, ob ein Typ einen nicht-gelöschten Destruktor hat (Klassenvorlage) |
| (C++20) |
spezifiziert, dass ein Objekt des Typs zerstört werden kann (Konzept) |