成员访问运算符和间接运算符的区别

时间:2019-10-31 13:12:33

标签: c++ operator-overloading overloading

重载时,间接运算符(*obj)必须返回引用,而成员访问运算符(obj->)必须返回指针。

struct my_ptr
{
    some_type & operator* () { return *ptr; } // returns reference
    some_type * operator->() { return  ptr; } // returns pointer

    some_type *ptr;
};

为什么会有这种区别?

0 个答案:

没有答案