當x是一個L值(比方說,一個變量),那麼下面的身份成立:參考/解引用標識
X == *(& X)
這很容易解釋,因爲& x是一個指向x的指針,並且應用於& x的解引用運算符*當然會返回x。
現在我想知道如果反面是有道理的。要精確我想知道如果
p == &(* P)
當p是一個非懸掛指針。 這似乎是有道理的,因爲* p本身就是一個L值(具有地址的值),因爲我們已經有指針(=地址)p了。所以你只需要知道,這樣的指針是獨一無二的,因爲然後&(* p)沒有其他機會是p。
因此,當兩個身份都是真實的,你可以說,在數學上,*和&是相互反函數。
我正確嗎?這個所謂的規則有沒有可能的例外?
如果'p'不是指針,則不能執行'&(* p)'。 – karlphillip 2012-03-05 20:18:10
...但問題已經說明,「當p是一個非懸掛指針。」 – 2012-03-05 20:23:31
也許「伴侶仿函數」會比「逆函數」更好一些,因爲它們都運行在不同類型的東西上。 – 2012-03-05 20:27:59