25 Feb
2009
25 Feb
'09
2:51 p.m.
Let's say that I have many shared_ptr<A> sharing ownership to the same A object. At some point, I would like all those shared_ptr to point to a new Object A. Is there an easy (and safe) way to accomplish that? I know how to do that for one shared_ptr using either "reset", either operator = but in order to do this for all shared_ptr sharing ownership, the only way I could think of is through a registration mechanism (like the Observer pattern) but this sounds an overkilling process to me.
You can wrap ObjectA by a proxy object, so that all the shared_ptr's point to that proxy that holds actual object. Then you can "reset" the object in the proxy.