C 引用 概念及用法

2021-07-05 15:03:35 字數 1300 閱讀 9426

一.概念

引用是變數的別名,對引用的操作與對變數的操作完全一樣。引用符號&與c語言中取位址符號一樣,含義不同。

引用的方法:型別識別符號   &引用名  =  變數名

例如:

int a; int &ra=a; //定義引用ra,它是變數a的引用,即別名

二.引用例項

1.引用作為函式引數

void swap(int &p1, int &p2) //此處函式的形參p1, p2都是引用

//為在程式中呼叫該函式,則相應的主調函式的呼叫點處,直接以變數作為實參進行呼叫即可,而不需要實參變數有任何的特殊要求。如:對應上面定義的swap函式,相應的主調函式可寫為:

int main(void)

3.引用作為返回值

#include using namespace std;

float temp; //定義全域性變數temp

float fn1(float r); //宣告函式fn1

float &fn2(float r); //宣告函式fn2

float fn1(float r) //定義函式fn1,它以返回值的方法返回函式值

float &fn2(float r) //定義函式fn2,它以引用方式返回函式值

void main() //主函式

{ float a=fn1(10.0); //第1種情況,系統生成要返回值的副本(即臨時變數)

//float &b=fn1(10.0); //第2種情況,可能會出錯(不同 c++系統有不同規定)

//不能從被調函式中返回乙個臨時變數或區域性變數的引用

float c=fn2(10.0); //第3種情況,系統不生成返回值的副本

//可以從被調函式中返回乙個全域性變數的引用

float &d=fn2(10.0); //第4種情況,系統不生成返回值的副本

//可以從被調函式中返回乙個全域性變數的引用

cout<(1)以引用返回函式值,定義函式時需要在函式名前加&。

(2)用引用返回乙個函式值的最大好處是,在記憶體中不產生被返回值的副本。

mapReduce概念及用法

mapreduce 隨著 大資料 概念而流行 其實mapreduce 的概念非常簡單 從功能上說 相當於 rdbms 的group 操作 mapreduce的真正強項在哪?答 在於分布式 當資料非常大時,像 google,有n 多資料中心 資料都不在地球的一端,用 group 力所不及.group既...

C 11 shared ptr概念及用法

c 11模板庫 include shared ptrptr new t t 可以是 int char 類等各種型別gnu g 的標準庫中還沒有支援,需使用boost include每個 shared ptr 物件在內部指向兩個記憶體位置 ptr.use count 1 使用空引數建構函式構造 std...

volatile變數的概念及用法

volatile關鍵字是一種型別修飾符,用它宣告的型別變數表示可以被某些編譯器未知的因素更改,比如 作業系統 硬體或者其它執行緒等。遇到這個關鍵字宣告的變數,編譯器對訪問該變數的 就不再進行優化,從而可以提供對特殊位址的穩定訪問。int i 5 int a i int b i 編譯器發現兩次從i讀資...