c++ 中引用和指標的關係例項詳解
1.引用在定義時必須初始化,指標沒有要求
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<
5. 引用自加改變變數的內容,指標自加改變了指標指向
rnum++; //指標的內容改變
pnum++; //指標改變
6. 有多級指標,但是沒有多級引用
int &&rnum ; //不可以
int **ppnum; //可以
7.引用比指標使用起來相對更安全
指標和引用的底層實現
int num = 10;
012213be mov dwordwww.cppcns.com 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 [pn程式設計客棧um],eax
底層的實現方式相同,都是按照指標的方式來實現的
本文標題: c++ 中引用和指標的關係例項詳解
本文位址: /ruanjian/c/194345.html
c 中引用和指標的關係
引用的格式 type ref var 1.引用只是變數的別名,不開闢新的空間,與原變數使用同一塊記憶體單元。指標是乙個新的變數,有自己的儲存空間。2.引用必須在宣告時就初始化,指標則可以在任何時候初始化。3.引用不能為空,必須總是引用乙個物件。指標可以為空,不指向任何地方。4.引用一旦被初始化,就不...
C 指標和引用的詳解
定義 int num 7 int p 這裡的指標p指向了num所對應的位址傳參 null指標 int ptr null if ptr 如果指標非空 if ptr 如果指標為空指標運算 指標和陣列 int var max var 錯誤,相當於var var 1陣列名對應指標常量,為不可修改的左值。va...
引用和指標的關係
引用在定義時必須初始化,指標沒有要求 int rnum 未初始化不能通過編譯 int pnum 可以 2.一旦乙個引用被初始化為指向乙個物件,就不能再指向 其他物件,而指標可以在任何時候指向任何乙個同型別物件 int inum 10 int inum2 20 int rnum inum rnum i...