您好,登錄后才能下訂單哦!
這篇文章主要介紹“C++變量引用的概念是什么”,在日常操作中,相信很多人在C++變量引用的概念是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”C++變量引用的概念是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
本篇介紹的變量引用與之前介紹的指針不是同一概念,它們有本質的區分:
1)不存在空引用。引用必須連接到一塊合法的內存。
2)一旦引用被初始化為一個對象,就不能被指向到另一個對象。指針可以在任何時候指向到另一個對象。
3)引用必須在創建時被初始化。指針可以在任何時間被初始化。
下面代碼介紹其應用場景,供參考
/* * Author:W; * 變量引用:是已定義聲明的變量的“別名” * 引用與指針的區別: * 1)不存在空引用。引用必須連接到一塊合法的內存。 * 2)一旦引用被初始化為一個對象,就不能被指向到另一個對象。指針可以在任何時候指向到另一個對象。 * 3)引用必須在創建時被初始化。指針可以在任何時間被初始化。 */ //引入頭文件:頭文件包含了程序中必需的或有用的信息【單行注釋】 #include <iostream> //命名空間使用 using namespace std; //交換函數聲明 void swap(int& a, int& b); //設置數組特定位置的值 int& setArrValue(int* array, int index); //main程序執行入口函數 int main() { //聲明變量 int a = 3; //聲明引用變量 int& b = a; cout << "=====引用變量=====" << endl; cout << "a=" << a << endl; cout << "b=" << b << endl; cout << "=====引用變量作為函數參數=====" << endl; int c = 4; int d = 10; cout << "交換之前 :c = " << c << " d = " << d << endl; swap(c, d); cout << "交換之后 :c = " << c << " d = " << d << endl; cout << "=====函數返回引用=====" << endl; //【返回一個引用時,要注意被引用的對象不能超出作用域。所以返回一個對局部變量的引用是不合法的,但是,可以返回一個對靜態變量的引用。】 int arr[3] = { 1,4,7 }; cout << "改變前的值" << endl; for (int i = 0; i < 3; i++) { cout << "arr[" << i << "] = " << arr[i] << endl; } setArrValue(arr,1) = 5; cout << "改變后的值" << endl; for (int i = 0; i < 3; i++) { cout << "arr[" << i << "] = " << arr[i] << endl; } } //改變數組特定位置的值 int& setArrValue(int* array,int index) { int& ref = array[index]; return ref; } /// <summary> /// 交換函數聲明 /// </summary> /// <param name="a"></param> /// <param name="b"></param> void swap(int& a, int& b) { int temp; temp = a; /* 保存地址 a 的值 */ a = b; /* 把 b 賦值給 a */ b = temp; /* 把 a 賦值給 b */ }
運行結果如下:
到此,關于“C++變量引用的概念是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。