引用在定義時必須初始化,指標沒有要求
int &rnum; //未初始化不能通過編譯
int *pnum; //可以
2. 一旦乙個引用被初始化為指向乙個物件,就不能再指向
其他物件,而指標可以在任何時候指向任何乙個同型別物件
int inum = 10;
int inum2 = 20;
int &rnum = inum;
&rnum = inum2; //不能通過
3. 沒有null引用,但有null指標。
int *pnum = null; //可以
int &rnum = null;//不可以
4. 在sizeof中含義不同:引用結果為引用型別的大小,
但指標始終是位址空間所佔位元組個數。
char c1 = 1;
char* pc = &c1;
char& rc = c1;
cout<
指標和引用的底層實現
int num = 10;底層的實現方式相同,都是按照指標的方式來實現的012213be mov dword ptr [num],0ah
int &rnum = num;
012213c5 lea eax,[num]
012213c8 mov dword ptr [rnum],eax
int*pnum =#
012213cb lea eax,[num]
012213ce mov dword ptr [pnum],eax
指標和引用的關係 以及二重指標和指標引用
指標和引用概念 指標和引用關係 指標引用和二重指標 平常寫 的時候大家多用到指標,卻很少臨幸引用這個東西,引用和指標其實分不開。指標的是乙個物件的位址,我們通過位址來對這個物件進行操作,而引用則是乙個物件的別名,好比你叫張三,別名小張,我要打小張,張三必定挨打。所以我們通過對引用的物件進行操作,就修...
c 中引用和指標的關係
引用的格式 type ref var 1.引用只是變數的別名,不開闢新的空間,與原變數使用同一塊記憶體單元。指標是乙個新的變數,有自己的儲存空間。2.引用必須在宣告時就初始化,指標則可以在任何時候初始化。3.引用不能為空,必須總是引用乙個物件。指標可以為空,不指向任何地方。4.引用一旦被初始化,就不...
this指標 引用 頂層和底層const關係
1 首先頂層const和底層const是圍繞指標 p的說法。底層 const int p,const不是修飾指標p,指標所指的值不能改變 頂層 int const p,const修飾指標p,指標本身不能改變 看const在 的位置 2 this指標,指向物件本身,是乙個 const this型指標 ...