指標和引用的差別

來源:互聯網
上載者:User

  (1)非空區別。在任何情況下都不能使用指向空值的引用。一個引用必須總是指向某些對象。因此如果你使用一個變數並讓它指向一個對象,但是該變數在某些時候也可能不指向任何對象,這時你應該把變數聲明為指標,因為這樣你可以賦空值給該變數。相反,如果變數肯定指向一個對象,例如你的設計不允許變數為空白,這是你就可以把變數聲明為引用。不存在指向空值的引用這個事實意味著使用引用的代碼效率比使用指標要高。

  (2)合法性區別。在使用引用之前不需要測試它的合法性。相反,指標則應該總是被測試,防止其為空白。

  (3)可修改區別。指標與引用的另一個重要的不同是指標可以被重新賦值以指向另一個不同的對象。但是引用總是指向在初始化時被指定的對象,以後不能改變,但是制定的對象其內容可以改變。

  (4)應用區別。總的來說,在以下情況下你應該使用指標:一是你考慮到存在不指向任何對象的可能(在這種情況下,你能夠設定指標為空白),而是你需要能夠在不同的時刻指向不同的對象(在這種情況下,你能改變指標的指向)。如果總是指向一個對象並且一旦指向一個對象後就不會改變指向,那麼你應該使用引用。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.