what is auto_ptr_ref, what it achieves and how it achieves it
auto_ptr_ref documentation here says this This is an instrumental class to allow certain conversions that allow auto_ptr objects to be passed to and returned from functions. Can somebody explain how auto_ptr_ref helps in achieving this. I just want to understand the auto_ptr class and its internals It is rather confusing. Basically, auto_ptr_ref exists because the auto_ptr copy constructor isn't really a copy constructor in the standard sense of the word. Copy constructors typically have a signature that looks like this: X(const X &b); The auto_ptr copy constructor has a signature that looks