Wie @JoachimPileborg vorgeschlagen hat, mit GCC 4.8 (x64) diesen Code
%Vor%erzeugt diese Ausgabe:
sizeof (unique_ptr) = 8
In dieser Implementierung lautet die Antwort also yes .
Das ist nicht erstaunlich: Schließlich fügt unique_ptr
nicht Features zu rohen Zeigern hinzu (zB ein Counter wie shared_ptr
. Tatsächlich, wenn Ich drucke sizeof(shared_ptr<int>)
das Ergebnis dieser Zeit ist 16
). unique_ptr
kümmert sich um einige Aspekte der Zeigerverwaltung.
Übrigens, wenn ein unique_ptr
von einem rohen unterscheidet, wird der generierte Code anders sein, wenn er den einen oder anderen benutzt. Insbesondere wenn ein unique_ptr
in Ihrem Code den Gültigkeitsbereich überschreitet, erzeugt der Compiler Code für den Destruktor dieser speziellen Spezialisierung und verwendet diesen Code jedes Mal Ein unique_ptr
dieses Typs wird zerstört (und das ist genau das, was Sie wollen).
Tags und Links c++ c++11 unique-ptr