指標與引用的區別

2021-07-14 05:47:30 字數 550 閱讀 4821

區別如下:

1)初始化要求不同。引用在建立的同時必須初始化,即引用乙個有效物件;而指標的定義時並不用初始化,可以在後面任何地方重新賦值;

2)可修改性不同。引用一旦被初始化為指向乙個物件,它就不能被改變成另乙個物件的引用;而指標在任何時候都可以改變為指向另乙個物件。給引用賦值並不是改變它和原始物件之間的關係。

3)不存在null引用,引用不能使用空值得引用,它必須指向乙個物件;而指標則可以是null,不需要總是指向某個物件,可以吧指標指向任意物件,所以指標更加靈活,也容易出錯。

4)測試需要的區別。由於引用不會指向空值,這意味著使用引用之前不需要測試它的合法性;而指標則需要經常進行測試。因此使用引用**效率比使用指標的要高。

5)應用的區別。如果是指標一旦指向乙個物件後就不會改變指向,那麼就應該引用。如果存在指向null(不指向任何物件)或在不同時刻指向不同的物件這些可能性,應該使用指標。

實際上·,在語言層面,引用的用法和物件一樣;在二進位制層面,引用一般都是通過指標來實現,只不過編譯器幫我們完成了 轉換。總體來說,引用既具有指標效率,又具有變數使用的方便性和直觀性。

引用與指標的區別

1.初始化要求不同。引用在建立的同時必須初始化,而指標在定義的時候不必初始化,可以在定義後面的任何地方重新賦值 2.可修改性不同。引用一旦被初始化,就不能被另乙個物件引用了,而指標在任何時候都可以指向另乙個物件 3.不存在null引用。引用不能使用指向空值的引用,必須指向某物件 而指標可以是null...

指標與引用的區別

指標與引用看上去完全不同 指標用操作符 和 引用使用操作符 但是它們似乎有相同的功能。指標與引用都是讓你間接引用其他物件。你如何決定在什麼時候使用指標,在什麼時候使用引用呢?首先,要認識到在任何情況下都不能使用指向空值的引用。乙個引用必須總是指向某些物件。因此如果你使用乙個變數並讓它指向乙個物件,但...

指標與引用的區別

指標與引用看上去完全不同 指標用操作符 和 引用使用操作符 但是它們似乎有相同的功能。指標與引用都是讓你間接引用其他物件。你如何決定在什麼時候使用指標,在什麼時候使用引用呢?首先,要認識到在任何情況下都不能用指向空值的引用。乙個引用必須總是指向某些物件。因此如果你使用乙個變數並讓它指向乙個物件,但是...