operator->
operator->重载函数可以返回一个对象,然后返回的这个对象会继续调用其资金的operator->函数,直到遇到了一个原始指针
如果返回的对象类型是自己本身的话会造成死循环
struct Inner{
int a_;
};
class Outer{
Inner b_;
Inner Operator->()
{
return b_;
}
};
void Test()
{
Outer object;
object->a_ = 1;
}
operator->重载函数可以返回一个对象,然后返回的这个对象会继续调用其资金的operator->函数,直到遇到了一个原始指针
如果返回的对象类型是自己本身的话会造成死循环
struct Inner{
int a_;
};
class Outer{
Inner b_;
Inner Operator->()
{
return b_;
}
};
void Test()
{
Outer object;
object->a_ = 1;
}