1.引用的概念及用法
引用不是定義乙個新的變數,而是給乙個已經定義的變數重新起乙個別名。
定義的格式為:
型別 &引用變數名 = 已定義過的變數名;
int a = 1;
int &b = a;
引用的特點:
1. 乙個變數可取多個別名
2. 引用必須初始化
3. 引用只能在初始化的時候引用一次,不能改變為再引用其他的變數。
可見, a 和 b 的位址一樣,即 b 只是 a 的乙個別名,並且可以通過修改 c (b的乙個引用)來修改 b 的值;
2.引用做引數
(1).【值傳遞】如果形參為非引用的傳值方式,則生成區域性臨時變數接收實參的值
void swap (int left, int right) // 這裡能實現交換嗎?
(2).【引用傳遞】如果形參為引用型別,則形參是實參的別名。
void swap (int& left, int& right)
**//當不需要改變引數值時,盡量使用常引用傳參**
(3).【指標傳遞】
void swap (int* pleft, int* pright)
- 3.引用做返回值*傳值做返回值&傳引用作為返回值*
int& add (int d1, int d2)
// int add ( int d1 , int d2)
void test()
void test()
深入探索Nginx工作原理
nginx 是乙個輕量級的http 服務程式,相比其他伺服器程式如apache,nginx占用記憶體少,穩定性高,併發處理能力強。同時nginx 還是乙個反向 服務程式,和郵件 服務程式。nginx具有豐富的模組庫 靈活的配置 較低資源消耗等優點。下面,我們一起深入看一下nginx的工作機制。我們從...
std move的原理與實現,右值引用的深入理解
這次我真的懂了。首先c 11引入了右值引用 這個要連起來看,是乙個整體,c 多了乙個關鍵字而已。不是引用的引用。是船新的一種語法。那有什麼用呢?額,引數的型別又多了一種!void fun int t void fun int t void fun int t void fun int t 之前的引數...
深入探索C 物件模型
深入探索c 物件模型 本書目錄結構如下 第1章 關於物件 object lessons 加上封裝後的布局成本 layout costs for adding encapsulation 1.1 c 模式模式 the c object model 簡單物件模型 a object model 驅動物件模...