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