C++精進之路4:引用的用法
一、什麼是引用
C++中的引用,是變數的別名,使用時必須繫結需要引用的實體, 也就是初始化。對引用的操作與對其繫結的實體的操作是完全等同的,用法示例:
int & ref = number;
二、引用的用法
1、引用作為函式引數存在
int swap(int &a ,int &b)
{
int tmp;
tmp = a;
a = b;
b = tmp;
}
引用用於代替C語言中的地址傳遞,是一種沒有複製開銷的傳遞,多次呼叫引用不會造成程式的開銷,可以提高程式執行的效率;引用傳遞引數更加直觀自然,替換指標傳遞的時候,還可以避免產生野指標。
2、引用作為返回值
int & getNumber(int idx)
{……}
返回值引用,可以對函式返回的變數直接進行修改;
這種用法需要特別注意的是,如果返回區域性變數的值,由於變數在函式執行結束之後已經銷燬,返回值是無法預期的;另外返回堆空間引用的實體,會有記憶體洩露的風險,特別注意要做好記憶體回收的策略。
3、引用與指標的區別
相同點:引用的底層實現仍然是指標,都有“地址”的概念;
不同點:
a、引用是沒有實體的,只是變數的別名,定義後必須繫結相應的實體;指標是有實體的變數,定義後可以不初始化;
b、引用一經定義繫結,就不能再改變繫結的物件,而指標比較靈活,可以改變指向的地址。
相關文章
- Android 開發的出路和精進之路Android
- C++ 引用C++
- 【C++】引用C++
- 119 C++中的引用&C++
- C++的引用技術C++
- C++ 預設引數與引用傳遞:語法、用法及示例C++
- C++左值引用與右值引用C++
- C++ 右值引用和左值引用C++
- c++ 左值引用與右值引用C++
- Elasticsearch精進之路:elasticsearch-head外掛使用教程Elasticsearch
- C++中const的用法C++
- C++中& 的基本用法C++
- C++右值引用C++
- 詳解C++引用C++
- c++筆記_引用C++筆記
- java的引用:用C++/C的引用和指標去理解JavaC++指標
- Python 進階之路 (四) 先立Flag, 社群最全的Set用法集錦Python
- 【C++】兩個類的相互引用C++
- c++ map用法C++
- C++學習之路 | PTA乙級—— 1015 德才論 (25分)(精簡)C++
- 程式碼精進之路-範學雷-極客時間
- C++ 左值引用和右值引用之間的轉換C++
- C++ 函式 realloc 的用法C++函式
- Python與C++引用分析PythonC++
- 深入分析C++引用C++
- C++中的&引用符號全解C++符號
- c++ 類的函式引用 指標C++函式指標
- c++中指標和引用的區別?C++指標
- 程式設計師精進之路:效能調優利器--火焰圖程式設計師
- C++中const的簡單用法C++
- C++中行內函數的用法C++函數
- C++中函式呼叫的用法C++函式
- 開心檔之C++ 引用C++
- C++引用型別詳解C++型別
- C++ 引用型別簡介C++型別
- C++引用全部知識點C++
- 關於java的引用和c++的區別JavaC++
- C++【string】用法和例子C++