On 1/3/19 11:25, hh h via Boost wrote:
Suppose I have a session object A, the shared_ptr<A> is created and stored in a global connection list after a connection is accepted by async_accept, when the connection is terminated, the reference in connection list is removed, but since A has a member B still holds A reference, that session object is never deleted, is it memory leak?
class A : public boost::enable_shared_from_this<A> { public: A(); ~A(); void Start() {b = make_shared<B>(shared_from_this());} void Stop(); private: shared_ptr<B> b; };
What are you trying to achieve with the above? The construct says B has shared ownership of an A thing. Or do you want to 'use' an A thing? -- Michael Caisse Ciere Consulting ciere.com