C++中的引用類似於現實生活中人們之間起昵稱,昵稱和本名都可以辨別人。 1.普通變數的引用: 其中不能光有昵稱沒有本名,如果只定義了引用,卻沒有將這個引用指向哪個變數,編譯器會報錯。 2.結構體的引用: 3.指針類型的引用: 一般形式為——類型 *&指針引用名 = 指針; 4.引用作為函數參數: 兩 ...
C++中的引用類似於現實生活中人們之間起昵稱,昵稱和本名都可以辨別人。
1.普通變數的引用:
int a=10;//a為本名 int &b=a;//b為a的昵稱
其中不能光有昵稱沒有本名,如果只定義了引用,卻沒有將這個引用指向哪個變數,編譯器會報錯。
2.結構體的引用:
typedef struct { int x; int y; }Coor; #include <iostream> using namespace std; int main(void) { Coor c1; Coor &c=c1; c.x=10; c.y=20; cout<<c1.x<<c1.y;//使用引用也能輸出c的值 return 0; }
3.指針類型的引用:
一般形式為——類型 *&指針引用名 = 指針;
#include <iostream> using namespace std; int main(void) { int a = 10; int *p = &a; int *&q = p; *q = 20; cout << a << endl; return 0; }
4.引用作為函數參數:
兩種函數參數對比:
第一種:
void fun(int *a,int *b) { int c = 0; c = *a; *a = *b; *b = c; } int x = 10,y = 20; fun(&x,&y);
第二種:
void fun(int &a,int &b) { int c = 0; c = a; a = b; b = c; } int x = 10,y = 20; fun(x,y);