引用的問題

1.二者的區別

(1)引用訪問一個變量是直接訪問,而指針是間接訪問。
(2)引用是一個變量的別名,本身不單獨分配自己的內存空間,而指針有自己的內存空間。
(3)引用在開始的時候就綁定到了一個內存空間(開始必須賦初值),所以他只能是這個
內存空間的名字,而不能改成其他的,當然可以改變這個內存空間的值.

 

1.從現象上看:指針在運行時可以改變其所指向的值,而引用一旦和某個對象綁定後就不再改變
2.從內存分配上看:程序爲指針變量分配內存區域,而引用不分配內存區域
3.從編譯上看:程序在編譯時分別將指針和引用添加到符號表上,符號表上記錄的是變量名及變量所對應地址。指針變量在符號表上對應的地址值爲指針變量的地址值,而引用在符號表上對應的地址值爲引用對象的地址值。符號表生成後就不會再改,因此指針可以改變指向的對象(指針變量中的值可以改),而引用對象不能改。

 

那麼二者在不同的場合肯定有不同的優勢了。

      引用出現的典型場合是對象的表面,而指針用於對象內部。

 

2.不安全的函數,需要自己注意強壯性。

3.使用 & 可以防止指針噩夢哦,嘿嘿

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章