1. 程式人生 > 其它 >主流移動web站點的特點及佈局

主流移動web站點的特點及佈局

技術標籤:C++

int &r= a;

1、引用

r是a的引用

  1. 引用是原來變數的別名
  2. 引用必須初始化,初始化之後就不會改變了——因為引用的本質是指標常量,編譯器自動將引用語句轉換為指標常量,如int &ref = a;將自動變換為int * const ref = &a;之後碰到的ref都會自動變換為指標常量,如ref = 20;會程式設計*ref = 20;
  3. C++推薦引用操作,本質是指標常量,所有的指標操作又編譯器操作。

2、引用作為函式返回值

  1. 不能返回區域性變數的引用
  2. 可以作為左值

3、指標和引用的區別

1.指標和引用的定義和性質區別:

(1)指標:指標是一個變數,只不過這個變數儲存的是一個地址,指向記憶體的一個儲存單元;而引用跟原來的變數實質上是同一個東西,只不過是原變數的一個別名而已。如:

int a=1;int *p=&a;

int a=1;int &b=a;

上面定義了一個整形變數和一個指標變數p,該指標變數指向a的儲存單元,即p的值是a儲存單元的地址。

而下面2句定義了一個整形變數a和這個整形a的引用b,事實上a和b是同一個東西,在記憶體佔有同一個儲存單元。

(2)可以有const指標,但是沒有const引用;

(3)指標可以有多級,但是引用只能是一級(int **p;合法 而 int &&a是不合法的)

(4)指標的值可以為空,但是引用的值不能為NULL,並且引用在定義的時候必須初始化;

(5)指標的值在初始化後可以改變,即指向其它的儲存單元,而引用在進行初始化後就不會再改變了。

(6)"sizeof引用"得到的是所指向的變數(物件)的大小,而"sizeof指標"得到的是指標本身的大小;

(7)指標和引用的自增(++)運算意義不一樣;

4、指標和引用作為函式引數

1、指標作為函式引數,傳遞的是變數的地址,仍然是值傳遞,但是可以修改實參 void func(int * p)

2、引用作為函式引數,傳遞的是變數本身,傳遞的是實參,是引用傳遞,可以修改實參

#include <iostream>
using namespace std;
void refunc(int& b) {
    b = 10;
}

int main()
{
    int a = 0;
    refunc(a);
    cout << a << endl;
}

在呼叫的時候時候直接傳遞實參就可以了,在func函式中,b作為a的引用,因此在func中對b做修改,main函式中的a也會對應的被修改。輸出結果為:

3、使用引用可以簡化指標操作