C 引用使用方法

2021-10-08 21:29:46 字數 1969 閱讀 6220

引用是c++對c的擴充。在c/c++中指標的作用基本都是一樣的,但c++增加了另外一種給函式傳遞位址的途徑,這就是引用傳遞,它也存在其他程式語言中

1.引用的實質是一段連續空間的別名

2.程式中通過變數來申請並命名記憶體空間

3.通過變數的名字可以使用記憶體空間

引用相當於給變數取別名

基本語法

type& ref = val;

//type是變數型別

//ref是新定義的變數別名

//val是之前的變數名字

int a =10;

int& b = a;

b =20

;cout <<

"a = "

<< a << endl;

cout <<

"b = "

<< b << endl;

void

test01()

//引用做函式引數

void fun(int& t)

void test02()

注意事項

1.&在這裡不是取位址運算,起標識作用

2.型別識別符號是指目標變數型別

3.必須在宣告引用變數的時候進行初始化操做

4.引用初始化後不能改變

5.不能有null引用。必須確保引用是和一塊合法的記憶體關聯

陣列引用有三種方法

void

test03()

;//第一種方法

//1.定義陣列型別

typedef

int(myarr)[5

];//陣列型別

//2.建立引用

myarr& arr_1 = array;

//第二種方法

//直接使用引用

int(

&arr_2)[5

]= array;

//第三種方法

//建立引用陣列型別

typedef

int(

&arr)[5

];arr arr_3 = array;

}

引用的本質在c++中內部實現是乙個指標常量

type& ref = val;

// type* const ref = &val

c++編譯器在編譯過程中使用的指標常量為內部實現,因此引用所佔的空間大小與指標相同,只是這個過程是編譯器內部實現,使用者不可見。

//發現是引用,轉換為 int* const ref = &a;

void

test04

(int

& ref)

intmain()

void

test05()

//被調函式

void

func

(char

*&tmp)

//char* &tmp=mp;

//主調函式

void

test06()

void

test07()

void

test08()

//引用做函式引數

void

fun(

int& a,

int& b)

void

test09()

//引用做函式返回值

int&

func2()

int&

func3()

void

test10()

不能返回區域性變數

函式當左值,必須返回引用

引用使用 C 引用的使用方法

c 中引用是指給乙個變數起別名,別名和變數指向同一塊的記憶體資料 引用的基本語法 引用的基本語法 資料型別 變數名 該資料型別的變數 int x 10 int a x 引用的注意事項 1.引用在定義時必須初始化 int a 錯誤 引用 a 變數需要初始值設定2.引用在初始化之後就無法修改 用引用做函...

關聯引用的使用方法

這年頭如果不會給現有的類新增屬性,就感覺你太 low 了點,光知道通過類別新增 覆蓋方法是不夠的,有的時候我們真的需要給已有類新增個酸爽的屬性,這個類可以是系統的類,也可以是自己寫的類,沒什麼限制!假如現有工程裡已經有個類singletonobject,我想給他加個屬性,我們知道類別是不可以加屬性的...

const常量引用的使用方法

c 程式語言中,對於常量的引用是乙個非常重要的應用技巧。在這篇文章中,我們將會為大家詳細介紹一下有關c 常量引用的相關應用方法,相信大家可以從中學到很多知識。如果是對乙個常量進行引用,則編譯器首先建立乙個臨時變數,然後將該常量的值置入臨時變數中,對該引用的操作就是對該臨時變數的操作。對c 常量引用可...