C++ 解引用操作符重载需返回引用 首先看代码: #include<iostream>usingnamespacestd;template<typenameT>classCSmartPtr{public:CSmartPtr(T*ptr=nullptr):mptr(ptr){cout<<"CSmartPtr(T *ptr=nullptr)"<<endl;}~CSmartPtr(){deletemptr;cout<<"~CSmartPtr()"<<endl;}T&operator*(){return*mptr;}private:T...
更一般的,->重载后返回值除了返回一个指针外,还可以返回一个已经重载了->操作符的类对象的引用,然后编译器递归调用重载过的->,直到有一个返回指针,如上面的类gao