Hello Copying structs by default means memberwise copy. If I have a struct S { shared_ptr<T1> ptr1; shared_ptr<T2> ptr2; shared_ptr<T3> ptr3; }; and i have 2 instances s1 and s2 s1=s2 will call shared_ptr<T.> 's operator=(), right?