我的问题受this other question的启发。解除引用指针的地址
我对&(this->*member)
的理解如下:对象有一个叫做member
的指针,它被解引用为this->*member
。然后,我们将解释刚才的内容。据我所知,这应该与刚刚解除引用的指针地址完全相同,即与this->member
完全相同。这是不是真的?
我的问题受this other question的启发。解除引用指针的地址
我对&(this->*member)
的理解如下:对象有一个叫做member
的指针,它被解引用为this->*member
。然后,我们将解释刚才的内容。据我所知,这应该与刚刚解除引用的指针地址完全相同,即与this->member
完全相同。这是不是真的?
不,不是,因为member
不是会员。
如果你看看你链接的问题,你会发现该结构没有名为member
的成员。特别是它不包含名为member
的指针。
member
是一个成员指针,作为函数调用参数传递。
如果'member'不是会员,那么你如何能够使用'this - > * member'? – wolfPack88
成员是成员指针。在您链接到的问题中,您看到该成员不是班级成员。它是一个成员指针,也就是说,它是成员相对于包含对象的地址。这意味着'* member',如果它是唯一的理由,将会是一个成员。但是,由于member是相对于某个对象的成员地址,因此只有在它已知的对象中,解除引用才有意义,然后不会被' - > *'使用。 –
在'this - > * member'中,操作符是' - > *'。这是一个单一的运营商。它不是''''''以某种方式应用于'* member'。它不是'*(this-> member)'。 – Mat