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* erlauben

    Naja, 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 😞


Anmelden zum Antworten