SmartPtr zur Verwendung in Containern?
-
Hi,
ich suche einen Smart-Pointer, den ich möglichst ohne Probleme hin und her kopieren kann, also auch zur Verwendung in Containern. Ich dachte mit boost::shared_ptr hätte ich den schon gefunden, aber der hat anscheinend keine Referenzzählung drin (zumindest gibt es bei mir dicke Fehler, seit ich den RawPointer-Code auf SharedPtr umgestellt habe).
Er sollte:
- kopierbar sein
- referenzgezählt sein
- keine Probleme in Containern machen
- möglichst schlank sein und implizite Konvertierung nach T* erlaubenNaja, oder erzählt mir einfach, dass ich zu dumm bin den shared_ptr richtig anzuwenden .
Mfg
-
du bist zu dumm, den shared_ptr richtig anzuwenden
die implizite konvertierung nach T* wirds aber nicht geben, da das eigentlich gegen das model des shared_ptr(und sogut wie allen anderen smart pointern) verstößt.
-
Danke, ich habe auch herausgefunden wo... Gott bin ich blöd.
-
Die Konvertierung gibt es vor allem nicht, damit
delete mySmartpointer;
ein Fehler bleibt.
Sonst würde nämlich hier die implizite Konvertierung zuschlagen. Und da nützt nichtmal ein const T* was, denn auch den darf man deleten