Passender smart pointer gesucht



  • Hallo,

    ich bräuchte einen smart pointer, den ich

    • mit 0 initialisieren kann und
    • mittels dessen ich einen boost::weak_ptr konstruieren kann (also ihn als Argument in einem Konstruktor von boost::weak_ptr verwenden kann).

    Da ersteres nicht mit boost::shared_ptr geht und zweiteres nicht mit boost::scoped_ptr, würde ich es mit
    boost::variant<boost::shared_ptr<...>, Empty> versuchen, wobei Emtpy eine Klasse ist, deren Instanzen das leere Objekt repräsentieren.

    Fällt jemanden ein besserer Weg ein?



  • Warum soll es nicht gehen, boost::shared_ptr mit einem Nullzeiger zu konstruieren? Das ist ja das, was der Standardkonstruktor macht.



  • Da ersteres nicht mit boost::shared_ptr geht

    Hab ichs falsch verstanden?

    boost::shared_ptr<long> p;
    //oder
    boost::shared_ptr<long> p1((long*)0);
    

    Simon



  • Stimmt, habe ich übersehen (irgendwie macht das so auch viel mehr Sinn).


Anmelden zum Antworten