2014-12-31 80 views
1

我的問題受this other question的啓發。解除引用指針的地址

我對&(this->*member)的理解如下:對象有一個叫做member的指針,它被解引用爲this->*member。然後,我們將解釋剛纔的內容。據我所知,這應該與剛剛解除引用的指針地址完全相同,即與this->member完全相同。這是不是真的?

+0

在'this - > * member'中,操作符是' - > *'。這是一個單一的運營商。它不是''''''以某種方式應用於'* member'。它不是'*(this-> member)'。 – Mat

回答

3

不,不是,因爲member不是會員。

如果你看看你鏈接的問題,你會發現該結構沒有名爲member的成員。特別是它不包含名爲member的指針。

member是一個成員指針,作爲函數調用參數傳遞。

+0

如果'member'不是會員,那麼你如何能夠使用'this - > * member'? – wolfPack88

+1

成員是成員指針。在您鏈接到的問題中,您看到該成員不是班級成員。它是一個成員指針,也就是說,它是成員相對於包含對象的地址。這意味着'* member',如果它是唯一的理由,將會是一個成員。但是,由於member是相對於某個對象的成員地址,因此只有在它已知的對象中,解除引用纔有意義,然後不會被' - > *'使用。 –