cpp(2)引用const動態記憶體分配

2021-08-18 07:56:28 字數 726 閱讀 3312

//1>引用:很多書描述引用為乙個變數或物件的乙個別名(alias),成為該變數或

//物件的同義詞,然而,實際上引用是「別名其表,指標其實」。也即,引用

//實質上是乙個指標,但使用時卻像乙個別名。

//2>引用的主要用途:a:用作函式引數,用於傳遞大型物件,必要時可從函式內部

修改函式外部的實參。此功能和指標相同,

b.從函式返回的引用可用作等式左值。

int i;   //整型變數

int &r=i;//引用r被初始化為整型變數i的別名

引用的初始化是指將該引用定義為某個變數的別名,所以應用初始化時必須使用乙個變數;引用初始化後,其使用和指標完全相同,其記憶體儲存內容中存放了該變數的位址。引用一旦初始化後,即不能再被重新初始化,即所存位址值不能再更改。

但引用可以重新賦值。引用(r)重新賦值時將同時改變該引用(r)以及它用作別名的那個變數(i)的具體值。

//4>在傳址呼叫中有時使用void指標,更為靈活,它和void變數的含義完全不同。

void 變數是「什麼變數都沒有」,eg:

void fun(int);表示函式fun不返回任何變數。

但void指標是「任何型別的指標」,eg:

void fun(void*);表示函式fun的形參可以是指向任何型別變數的指標。

//5>用const保護實參或資料成員eg:

void display(const int &x,const int &y);

CPP核心程式設計(2)引用

引用的使用如下 include using namespace std intmain 通過new建立陣列 堆區開闢的資料,由人手動開闢,釋放使用操作符delete 三種傳遞方式的區別 include using namespace std 值傳遞 void swap 1 int a,int b 位...

C Primer 筆記五 引用 const 1

定義 const 物件 常量在定義後就不能被修改,所以定義時必須初始化 在全域性作用域宣告的 const 變數是定義該物件的檔案的區域性變數。此變數只存在於那個檔案中,不能被其他檔案訪問。這種情況解決辦法 通過指定 const 變更為 extern,就可以在整個程式中訪問 const 物件 file...

C Primer 筆記五 引用 const 1

定義 const 物件 常量在定義後就不能被修改,所以定義時必須初始化 在全域性作用域宣告的 const 變數是定義該物件的檔案的區域性變數。此變數只存在於那個檔案中,不能被其他檔案訪問。這種情況解決辦法 通過指定 const 變更為 extern,就可以在整個程式中訪問 const 物件 file...