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