指標與引用的區別

2021-07-30 21:30:51 字數 952 閱讀 6092

引用在定義是必須初始化(不能eg: int &a=10;//不能是常量)

乙個變數可以有多個引用;(eg:int a=10;int &ra=a; int& rb=a; int &rc=ra;(乙個變都變))

引用一旦繫結了乙個實體之後,就不能在引用其他實體。

指標與引用在底層實現的方式是一樣的(都是按指標的方式)

1. 引用在定義的時候必須初始化,指標沒有要求。

2. 沒有null引用,但有null指標。

3. sizeof() 含義不同。

4. 自加加不同。

5. 引用比指標使用安全。

6. 有多級指標,但沒有多級引用。

7. 指標可以重新指向其他變數,而引用不能重新賦值。

int a=10;

int b=20;

int *p=&a;

int &ar=a;

p=&b;

ar=b;//(這個等式是錯誤的)

//p++;表示的是指標向後偏1

//ar++;表示的是數值加1

sizeof(p);//計算的是指標p的大小為4

sizeof(ar);//計算的是引用數型別a的大小 本例:為4,當a為char型別時此值大小為1;

//int * c=10;

//型別(int *) & rc=c;

int **p1=null;

int &&a=10;//右值引用

引用與指標的區別

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

指標與引用的區別

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

指標與引用的區別

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