Was sind die empfohlenen Verwendungen von std::unique_ptr
wo genau, wann und wie wird es am besten verwendet?Empfohlene Verwendung von std :: unique_ptr
ich entdeckt:
Ich weiß schon:
std::unique_ptr
wurde C++ 11 entwickelt als Ersatz in fürstd::auto_ptr
- Dass ein
std::unique_ptr
keine Referenzzählung hat und "besitzt" -Objekt zeigt auf - Es gibt keine Kopie/a ssign mit einem
std::unique_ptr
- Wenn ich einen eindeutigen Zeiger benötigen, ist
std::unique_ptr
die Go
zu strukturieren Was würde ich gerne wissen:
- wird mit einem
std::unique_ptr
immer vorzuziehen (außer Einzigartigkeit) zu etwas
sonst noch? Was bekomme ich in dieser Situation? - Wenn ja, unter welchen Umständen und wann?
- Angesichts der Notwendigkeit für Bewegung Semantik, würde dies eine
std::unique_ptr
weniger günstige
insgesamt machen? - Wenn ein
std::shared_ptr
für dynamische Speicherverwaltung genügen würde in fast jeder Situation , warum mir zur Verfügung hat, die einestd::unique_ptr
Materie (wieder andere
als Einzigartigkeit)?
Da der Typ 'unique_ptr' genannt wird, finde ich es komisch, dass Sie nach einer anderen Verwendung suchen, als einzigartig zu sein ... –
Und [Welche Art von Zeiger verwende ich wann?] (Http://stackoverflow.com/q/8706192/256138) – rubenvb
@Mushy: Die Hauptfrage, die Sie beantworten müssen, ist die des Eigentums. Bei der Auswahl eines intelligenten Zeigers spielt nichts anderes eine Rolle, und das wird in den Fragen, auf die ich verlinkte, sehr gut beantwortet. Die Frage, die du verlinkt hast, hatte meinen Downvote (von früher), weil er nichts definitives zeigt und die falsche Frage nach den "Daten" stellt. – rubenvb