ist es besser, zu verwenden shared_ptr.reset-oder-operator =?

Ich versuche, wickeln Sie meinen Kopf herum, die neue Redewendungen für C++11.

Scheint es, dass mit shared_ptr zumindest, es gibt einen inhaltlichen Unterschied zwischen der Verwendung new T() und make_shared<T>().

Aber was ist das zurücksetzen eines shared-pointer zu Punkt, um eine neue Instanz von etwas. Früher hätte ich in der Regel verwenden reset(new T()) Mitglied. Jedoch steht dies nicht unter dem gleichen problem leiden nicht mit make_shared() in Erster Linie? (d.h. es erlaubt nicht make_shared zu reservieren das Objekt, deshalb ist es gezwungen, legen Sie die ref-Anzahl in einer separaten Zuweisung statt, die in der gleichen Verteilung wie die T selbst?)

Ist es einfach besser für die Zukunft, um zu verwenden:

   mysharedptr = make_shared<T>(args...);

Oder gibt es eine bessere Möglichkeit?

Werden und sollte nicht zurückgesetzt bieten variadic Weiterleitung der Argumente als make_shared, so dass man schreiben konnte mysharedptr.reset(args...);?

InformationsquelleAutor Mordachai | 2013-02-12
Schreibe einen Kommentar