T& operator*(){return *this;}与T& operator*() const{return *get();}
有个问题不清楚,问一下,多谢。
T& operator*(){return *this;}
//这里可以返回*this,可是下面为什么不可以一样,必须写成下面的代码,这两个在用的地方有什么区别?
T* p;
T& operator*() const{return *get();}
T* get() const{return p;}
我的理解:第二个加了const,就不能修改自己,所以也就不能同第一种的return *this,而只能返回另外的对象引用。
我不清楚return *this是否产生了一个临时对象,如果是,那么就产生的临时对象必须给const T &,但此时返回的类型是T& ,最终又是如何转换的?