std :: unique_ptr mit abgeleiteter Klasse

8

Ich habe eine Frage zu den C ++ 11 Zeigern. Wie können Sie einen eindeutigen Zeiger für die Basisklasse in die abgeleitete Klasse verwandeln?

%Vor%

sollte es möglich sein, aber ich kann nicht herausfinden, wie. Jedes Mal versuche ich mit dem

%Vor%

Ich lande mit dem Absturz der ausführbaren Datei.

Vielen Dank im Voraus, jeder Rat wäre willkommen.

    
Lukas Schmit 02.07.2013, 05:15
quelle

1 Antwort

22

Wenn sie polymorphe Typen sind und Sie nur einen Zeiger auf den abgeleiteten Typ benötigen, verwenden Sie dynamic_cast :

%Vor%

Wenn sie keine polymorphen Typen sind, brauchen Sie nur einen Zeiger auf den abgeleiteten Typ. Verwenden Sie static_cast und hoffen Sie auf das Beste:

%Vor%

Wenn Sie ein unique_ptr mit einem polymorphen Typ konvertieren müssen:

%Vor%

Wenn Sie unique_ptr mit einem nicht-polymorphen Typ konvertieren müssen:

%Vor%     
Captain Obvlious 02.07.2013, 05:22
quelle

Tags und Links