引用是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 常量引用可...