Tag: make-shared

make_shared ist eine Funktion für die Erstellung von shared Pointer eingeführt, die in C++11.

Fehler in std::make_shared (), wenn Sie versuchen zu machen shared_ptr?

Anzahl der Antworten 1 Antworten
(Mit Visual Studio 2010), die ich versuche zu schaffen, ein shared_ptr einer vorhandenen Klasse in meinem Projekt (Klasse geschrieben wurde, ein Jahrzehnt, bevor std::shared_ptr gab). Diese Klasse nimmt eine nicht-const-Zeiger auf ein anderes Objekt, es kann leer

Wie gehen deleter zu make_shared?

Anzahl der Antworten 5 Antworten
Seit C++11, da von mehreren Gründen, tendieren Entwickler dazu, den Einsatz von smart-pointer-Klassen für die dynamische Lebenszeit von Objekten. Und mit diesen neuen smart-pointer-Klassen, - standards, auch empfehlen nicht die Verwendung von Operatoren wie new statt, die

Können Sie reservieren ein array mit etwas gleichwertiges zu make_shared?

Anzahl der Antworten 3 Antworten
buffer = new char[64]; buffer = std::make_shared<char>(char[64]); ??? Können Sie Speicher für ein array mit make_shared<>()? Ich tun konnte: buffer = std::make_shared<char>( new char[64] ); Aber weiterhin umfasst das aufrufen neues, es ist nach meinem Verständnis make_shared

Ist make_shared wirklich effizienter als neu?

Anzahl der Antworten 4 Antworten
Ich war das Experimentieren mit shared_ptr und make_shared von C++11 und programmiert ein kleines Spielzeug Beispiel, um zu sehen, was eigentlich passiert ist, beim Aufruf make_shared. Als Infrastruktur-ich war mit llvm/clang 3.0 zusammen mit den llvm-std-c++ -