
Hi -- I'm loving how easy shared_ptr makes object handling, but am not sure about how to use weak_ptr. Should I use it in places where previously I would have, say, returned a const reference? For example: struct MyClass { const OtherObject & other_object() const; }; Would become: struct MyClass { weak_ptr<const OtherObject> other_object() const; }; Or is this wasteful, having weak_ptrs construct from shared_ptrs every time I want to access an member object? Or have I missed the point completely? ;) One convention I thought I might adopt would be like this: struct MyClass { void set_other_object( shared_ptr<OtherObject> ); // setter weak_ptr<OtherObject> get_other_object(); // non-const getter const OtherObject & other_object() const; // const getter }; Of course, that could be all kinds of dumb for all kinds of reasons I don't know about. :) Cheers, Doug.