引用就是變數的別名,對引用的操作等價於對變數的操作,不會給引用分記憶體空間,引用和被引用的變數共享一塊記憶體空間。
乙個變數可以有多個引用,乙個引用只能對應乙個變數(乙個引用不能是多個變數的別名)。
指標是「指向」另外一種型別的符合型別。指標可以實現對物件的間接訪問。
資料型別 &引用名 = 變數名;
注意:1)在定義引用的時候一定要初始化
2)乙個引用只能是乙個變數的別名,不能是多個變數的別名
&什麼時候是取位址,什麼時候是引用?
&前有資料型別就是引用, &前沒有資料型別就是取位址
區別如下:
1)指標佔4個位元組記憶體空間,引用不佔記憶體,引用的和被引用的變數共用同一塊記憶體空間
2)指標可以改向,引用一旦初始化完成,不能變成別的變數的引用
3)指標可以不初始化,引用一定要初始化
4)指標的運算只是移動乙個資料型別的位址,引用的運算就是變數的運算
5)可以有void*型指標,不能有void型的引用
6)有陣列指標,函式指標,不能有陣列引用,和函式引用
7)常引用可以是常量的別名,指標只能是字串常量的位址,不能定義成其他常量的位址。
8)可以定義多級指標,但不能這樣定義: 資料型別 && 引用名 = 變數名; 引用也可以有別名,對別名的操作就是對引用的操作。
引用與指標的區別
1.初始化要求不同。引用在建立的同時必須初始化,而指標在定義的時候不必初始化,可以在定義後面的任何地方重新賦值 2.可修改性不同。引用一旦被初始化,就不能被另乙個物件引用了,而指標在任何時候都可以指向另乙個物件 3.不存在null引用。引用不能使用指向空值的引用,必須指向某物件 而指標可以是null...
指標與引用的區別
指標與引用看上去完全不同 指標用操作符 和 引用使用操作符 但是它們似乎有相同的功能。指標與引用都是讓你間接引用其他物件。你如何決定在什麼時候使用指標,在什麼時候使用引用呢?首先,要認識到在任何情況下都不能使用指向空值的引用。乙個引用必須總是指向某些物件。因此如果你使用乙個變數並讓它指向乙個物件,但...
指標與引用的區別
指標與引用看上去完全不同 指標用操作符 和 引用使用操作符 但是它們似乎有相同的功能。指標與引用都是讓你間接引用其他物件。你如何決定在什麼時候使用指標,在什麼時候使用引用呢?首先,要認識到在任何情況下都不能用指向空值的引用。乙個引用必須總是指向某些物件。因此如果你使用乙個變數並讓它指向乙個物件,但是...