C++解引用运算符*重载 #include<iostream>using namespace std;template<typenameT>classDataContainer{T*p;public:DataContainer(T*pp){p=pp;}~DataContainer(){deletep;}template<typenameT>friendToperator*(constDataContainer<T>&);};template<typenameT>Toperator*(constDataContainer<T>&d){return*(d.p);...
//运算符重载函数为值返回的时候会产生临时变量,临时变量与局部变量result的复制会调用拷贝构造函数,临时变量的生命周期是在拷贝构造函数运行完成后才结束,但如果运算符重载函数返回的是引用,那么不会产生临时变量,而局部变量result的生命周期在运算符重载函数退出后立即消失,它的生命周期要比临时变量短,所以当外部对象获...