C++引用和指標
作者:tongqingliu
轉載請註明出處:http://blog.csdn.net/qq_22186119/article/details/73476808
C++引用和指標
C++引用
引用的基本用法:
int a = 12;
int &b = a; // b指向a,b是a的引用,b是a的別名
下面看一個例項:
#include<iostream>
#include<vector>
using namespace std;
int main()
{
int val = 123;
int &refval = val; //refval是val的別名
cout << "val=" << val << endl;
cout << "refval=" << refval << endl;
refval = 0;
cout << "val=" << val << endl;
cout << "refval=" << refval << endl;
system("pause");
}
程式輸出:
val=123
refval=123
val=0
refval=0
請按任意鍵繼續. . .
引用其實就是給物件起一個別名,比如張明的別名是小明,那麼你打張明和打小明都是一個意思,打的都是同一個人。
但是有幾點需要注意:
- 引用必須初始化,int &val;
錯。
- 引用型別的初始值必須是一個物件,而不能是個數int &val = 1;
錯。
- 引用和引用的物件必須同一型別,double a = 1.2; int &val = a;
錯。
- 引用不是物件,不能定義引用的引用,int a = 1; int b = 2; int &c = a; int &c = b;
錯。
指標
和引用一樣,指標可以間接訪問其他物件。
指標的特點:
- 指標本身就是一個物件,可以賦值也可以拷貝,也可以先後指向不同的物件。
- 指標在定義時可以不賦值。
指標的基本用法;
int *ip1, *ip2;//宣告指標,ip1和ip2都是指向int型物件的指標
double dp, *dp2;//dp是double型物件,dp2是指向double型物件的指標
int ival = 32;
int *p = &ival;//p是指向變數ival的指標,p存放變數ival的地址
上面最後一行,p存放變數ival的地址,*p表示ival的值(*
是解引用符),&ival表示取ival的地址。
#include<iostream>
using namespace std;
int main()
{
int val = 123;
int *pval = &val;
cout << "val=" << val << endl;
cout << "pval=" << pval << endl;
cout << "&val=" << &val << endl;
cout << "*pval=" << *pval << endl;
system("pause");
}
程式執行結果:
val=123
pval=00A2FBE0
&val=00A2FBE0
*pval=123
請按任意鍵繼續. . .
- 引用不是物件,沒有實際地址,不能定義指向引用的指標。
- 指標型別必須和所指向物件的型別一樣。
參考:
C++ primer 第五版
相關文章
- [C++]指標和引用(一)C++指標
- [C++]指標和引用(二)C++指標
- [C++]指標和引用(三)C++指標
- [C++]指標和引用(四)C++指標
- 詳解c++指標的指標和指標的引用C++指標
- java的引用:用C++/C的引用和指標去理解JavaC++指標
- 1.0 - 指標和引用指標
- C++中的指標與引用C++指標
- nim的引用和指標指標
- 《指標和引用小結》指標
- 細說引用和指標指標
- C++指標與引用的區別C++指標
- c++ 類的函式引用 指標C++函式指標
- 07 引用 指標 和傳遞指標
- 指標和引用的區別指標
- C、C++用指標引用的差異C++指標
- c++指標傳遞與引用傳遞C++指標
- 指標與引用指標
- C++中const與指標、引用的總結C++指標
- C++中的指標與引用詳細解讀C++指標
- C++智慧指標學習——小談引用計數C++指標
- C++ 引用和指標:記憶體地址、建立方法及應用解析C++指標記憶體
- C++弱引用智慧指標weak_ptr的用處C++指標
- C/C++引用和指標的聯絡和區別C++指標
- 再學C/C++ 之 指標常量 和 常量指標C++指標
- [C++] 成員函式指標和函式指標C++函式指標
- c++中指標和引用的區別?C++指標
- C++中指標和引用的區別C++指標
- C++的未來和指標C++指標
- C++ this 指標C++指標
- C++ 指標C++指標
- 這裡是值引用還是指標引用?指標
- 【C++系列】指標物件和物件指標的區別C++指標物件
- GO切片傳值/引用/指標Go指標
- 引用的底層為指標指標
- C++引用比指標的好處C++指標
- C++引用與指標的比較C++指標
- 關於C++引用做為函式引數和指標作為函式引數C++函式指標