c++ - What does ClassName& as a return type mean? -


i try understand following code (taken here):

template <class t> class auto_ptr {     t* ptr; public:     explicit auto_ptr(t* p = 0) : ptr(p) {}     ~auto_ptr()                 {delete ptr;}     t& operator*()              {return *ptr;} // <----- problematic row.     t* operator->()             {return ptr;}     // ... }; 

i cannot understand mean when use t& return type of function. if t pointer integer (or other type), interpret t& integer (or other corresponding type). in above given code t not pointer. t class, , 1 of members (ptr) pointer objects of class t not class of pointers. so, t& return type mean?

it means same outside context of function's return type, i.e. t& reference t. in case, function returns reference object of type t caller can use observe (and alter, if t not const-qualified) referenced object.


Comments

Popular posts from this blog

monitor web browser programmatically in Android? -

Shrink a YouTube video to responsive width -

wpf - PdfWriter.GetInstance throws System.NullReferenceException -