C++變量引用的概念介紹
本篇介紹的變量引用與之前介紹的指針不是同一概念,它們有本質(zhì)的區(qū)分:
1)不存在空引用。引用必須連接到一塊合法的內(nèi)存。
2)一旦引用被初始化為一個(gè)對(duì)象,就不能被指向到另一個(gè)對(duì)象。指針可以在任何時(shí)候指向到另一個(gè)對(duì)象。
3)引用必須在創(chuàng)建時(shí)被初始化。指針可以在任何時(shí)間被初始化。
下面代碼介紹其應(yīng)用場(chǎng)景,供參考
/*
* Author:W;
* 變量引用:是已定義聲明的變量的“別名”
* 引用與指針的區(qū)別:
* 1)不存在空引用。引用必須連接到一塊合法的內(nèi)存。
* 2)一旦引用被初始化為一個(gè)對(duì)象,就不能被指向到另一個(gè)對(duì)象。指針可以在任何時(shí)候指向到另一個(gè)對(duì)象。
* 3)引用必須在創(chuàng)建時(shí)被初始化。指針可以在任何時(shí)間被初始化。
*/
//引入頭文件:頭文件包含了程序中必需的或有用的信息【單行注釋】
#include <iostream>
//命名空間使用
using namespace std;
//交換函數(shù)聲明
void swap(int& a, int& b);
//設(shè)置數(shù)組特定位置的值
int& setArrValue(int* array, int index);
//main程序執(zhí)行入口函數(shù)
int main()
{
//聲明變量
int a = 3;
//聲明引用變量
int& b = a;
cout << "=====引用變量=====" << endl;
cout << "a=" << a << endl;
cout << "b=" << b << endl;
cout << "=====引用變量作為函數(shù)參數(shù)=====" << endl;
int c = 4;
int d = 10;
cout << "交換之前 :c = " << c << " d = " << d << endl;
swap(c, d);
cout << "交換之后 :c = " << c << " d = " << d << endl;
cout << "=====函數(shù)返回引用=====" << endl;
//【返回一個(gè)引用時(shí),要注意被引用的對(duì)象不能超出作用域。所以返回一個(gè)對(duì)局部變量的引用是不合法的,但是,可以返回一個(gè)對(duì)靜態(tài)變量的引用?!?
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;
}
}
//改變數(shù)組特定位置的值
int& setArrValue(int* array,int index)
{
int& ref = array[index];
return ref;
}
/// <summary>
/// 交換函數(shù)聲明
/// </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 */
}
運(yùn)行結(jié)果如下:

到此這篇關(guān)于C++變量引用的概念介紹的文章就介紹到這了,更多相關(guān)C++變量引用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C語(yǔ)言中數(shù)據(jù)結(jié)構(gòu)之鏈?zhǔn)交鶖?shù)排序
這篇文章主要介紹了C語(yǔ)言中數(shù)據(jù)結(jié)構(gòu)之鏈?zhǔn)交鶖?shù)排序的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下2017-09-09
C++ COM編程之QueryInterface函數(shù)(一)
這篇文章主要介紹了C++ COM編程之QueryInterface函數(shù)(一),QueryInterface是組件本身提供對(duì)自己查詢的一個(gè)接口,需要的朋友可以參考下2014-10-10
c++函數(shù)指針和回調(diào)函數(shù)示例
這篇文章主要介紹了c++函數(shù)指針和回調(diào)函數(shù)示例,需要的朋友可以參考下2014-05-05
C++第11版本中的一些強(qiáng)大的新特性小結(jié)
這篇文章主要介紹了C++第11版本中的一些強(qiáng)大的新特性小結(jié),需要的朋友可以參考下2015-12-12

