I run into situations where it's useful for an object to have a 'backpointer' to the object instance that created it (example below). Is there a pattern/idiom for doing this using shared_ptr? Or maybe I need to re-think the idea of the backpointer in the first place?
class Bar; class Foo { public: Foo(shared_ptr<Bar>); private: shared_ptr<Bar> p; }; class Bar : boost::shared_count { void doit() { new Foo(boost::shared_from_this(this)); // <<< new Foo(this) obviously won't work. } }; HTH, Dave -- ----------------------------------------------------------- David Abrahams * Boost Consulting dave@boost-consulting.com * http://www.boost-consulting.com