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

yii\base\ErrorException
Copied! Copy Stacktrace Search Stackoverflow Search Google Error

PHP Core Warningyii\base\ErrorException

PHP Startup: Unable to load dynamic library 'mongodb.so' (tried: /usr/lib64/php/modules/mongodb.so (/usr/lib64/php/modules/mongodb.so: cannot open shared object file: No such file or directory), /usr/lib64/php/modules/mongodb.so.so (/usr/lib64/php/modules/mongodb.so.so: cannot open shared object file: No such file or directory))

$_GET = [
    'id' => '331984',
    'url' => 'stdunique-ptr-with-derived-class',
];

$_SESSION = [
    '__flash' => [],
];