STL-Klasse als Referenz gezählt Zeiger?
-
19-08-2019 - |
Frage
Dies sollte trivial sein, aber ich kann nicht scheinen, um es zu finden (es sei denn, eine solche Klasse existiert!)
Was ist die STL-Klasse (oder einen Satz von Klassen) für Smart-Pointer?
UPDATE
Danke für die Antworten,
Ich muss sagen, ich bin überrascht, es gibt keine Standard-Implementierung.
ich am Ende mit dieser: http://archive.gamedev.net/reference /articles/article1060.asp
Lösung
Mit Ausnahme des bereits erwähnt TR1 shared_ptr, gibt es keinen Hinweis gezählt Zeiger in STL.
Ich schlage vor, Sie boost :: shared_ptr (Boost Download wird genug sein, gibt es nichts zu kompilieren, ihre Umsetzung ist Kopf nur).
Sie können auch einen Blick auf Smart-Pointer von Loki Bibliotheken (wiederum header-only-Implementierung) haben.
Für eine Übersicht über die verfügbaren Smart-Pointer finden Sie unter dort .
Andere Tipps
Wenn Sie nicht wollen, / nicht-Boost und Ihr Compiler implementiert
Die Zeit schreitet voran, in C ++ 11: etc. std::shared_ptr
std::weak_ptr
Für COM-Objekte verwenden CComPtr <> .
Es eine Alternative für einige Zeit in STL PLUS implementiert ist, finden Sie unter Quelle Schmiede
"STLplus was originally intended as a library to extend the STL by providing missing container data structures such as smart-pointers, matrices, trees and graphs."