Aber es ist nicht wahr, warum?
§5.2.4 / 1:
Der einzige Effekt ist die Auswertung des Postfix-Ausdrucks vor dem Punkt oder Pfeil.
Wo der Postfix-Ausdruck der Ausdruck des Objekts ist, für das der Aufruf stattfindet. Daher beendet ein Pseudo-Destruktoraufruf als Aufruf eines trivialen Destruktors nicht die Lebensdauer des Objekts, auf das er angewendet wird. Zum Beispiel,
%Vor%Sie können einen Destruktor eigentlich nicht für Skalare aufrufen, weil sie keinen haben (siehe [class.dtor]). Die Anweisung ist nur für Vorlagencode zulässig, in dem Sie den Destruktor eines Objekts aufrufen, dessen Typ Sie nicht kennen - es entfällt die Notwendigkeit, eine Spezialisierung für Skalartypen zu schreiben.
In den Kommentaren wurde angemerkt, dass [expr.pseudo] die Existenz eines Destruktors für Skalare durch
impliziertDie Verwendung eines Pseudo-Destruktor-Namens nach einem Punkt
.
oder Pfeil->
Operator stellt den Destruktor für den Nicht-Klassen-Typ mit dem Namen typname dar.
Dies ist jedoch nicht mit anderen Teilen des Standards, z.B. §12, der einen Destruktor eine spezielle Memberfunktion aufruft und erwähnt, dass
Ein Destruktor wird verwendet, um Objekte seines Klassentyps zu zerstören.
Es scheint eine Ungenauigkeit zu sein, die in C ++ 98 Tagen erstellt wurde.
Tags und Links c++ language-lawyer destructor