看例子
結果

如果是傳遞指針,那麼會先複制該指針,在函數内部使用的是複制後的指針,這個指針與原來的指針指向相同的位址,如果在函數内部将複制後的指針指向了另外的新的對象,那麼不會影響原有的指針;
但是對于傳遞指針引用,如果将傳遞進來的指針指向了新的對象,那麼原始的指針也就指向了新的對象,這樣就會造成記憶體洩漏,因為原來指針指向的地方已經不能再 引用了,即使沒有将傳遞進來的指針指向新的對象,而是在函數結束的時候釋放了指針,那麼在函數外部就不能再使用原有的指針了,因為原來的記憶體已經被釋放了
在調用 setName() 函數初時,obj 與 person 引用的是同一對象,是以首次的 name 屬性指派會對 person 有所影響。但是當 obj 被重新定義時,其引用的對象已經與 person 不同,是以後面設定的 name 屬性,不會對 person 引用的對象有任何影響。