引用和指標

2021-06-22 20:56:14 字數 555 閱讀 7490

引用是已存在變數的別名.這句話包含了兩層意思,

第乙個是已經存在的變數,引用在宣告時必須對其初始化,

第二個是別名,編譯器不會給引用分配記憶體空間,引用只是作為乙個符號,和他初始化的變數標示同乙個位址

因為上面的原因,我們可以看出,我們只能對引用在初始化時進行賦值,我們不能讓引用在初始化之後指向其他地方(這一點和指標不同),同時引用不能為空(和指標不同)

因此像int &r;這樣的語句是錯誤的

此外,int p =1; int i =2; int &r = p; r = i;

最後一句指的是賦值,將i的值賦給r,而不是讓引用r指向和i一樣的記憶體.

引用的作用

1.作為引數傳入函式

void swap(int &refx,int &refy)

函式體內可以直接對refx 和refy操作.引用實現了實參和形參的結合.

此外如果引數有const修飾,表示傳入的引用不能被修改.但是該值本身可以被修改,只是不能通過該引用修改.

2.作為函式的返回值

函式的返回值為引用,作為返回值的乙個別名,並不會做真正的賦值操作

指標和引用,const 指標和const 引用

指標和引用是在使用中經常弄混淆的兩個概念。引用 reference 為物件起了另外乙個名字,用符號 表示。name,例如 int i 1024 int ref i 一般在初始化變數時,初始值會被拷貝到新建立的物件中,然而定義引用時,程式把引用和它的初始值繫結 bind 在一起,而不是將初始值拷貝給引...

指標和引用

一 先看一段 include using namespace std void freeptr1 int p1 void freeptr2 int p2 void main 思考 在 freeptr1 和freeptr2 的比較中,你能發現它們的不同點嗎?二 對 進行解釋 include using...

指標和引用

指標與引用看上去完全不同 指標用操作符 和 引用使用操作符 但是它們似乎有相同的功能。指標與引用都是讓你間接引用其他物件。你如何決定在什麼時候使用指標,在什麼時候使用引用呢?首先,要認識到在任何情況下都不能使用指向空值的引用。乙個引用必須總是指向某些物件。因此如果你使用乙個變數並讓它指向乙個物件,但...