欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++變量引用的概念介紹

 更新時間:2021年08月03日 16:08:37   作者:Data菌  
這篇文章主要介紹了C++變量引用的概念介紹,簡單提到了與指針概念的不同,通過代碼場景分析給大家介紹的非常詳細,需要的朋友可以參考下

本篇介紹的變量引用與之前介紹的指針不是同一概念,它們有本質(zhì)的區(qū)分:

1)不存在空引用。引用必須連接到一塊合法的內(nèi)存。

2)一旦引用被初始化為一個對象,就不能被指向到另一個對象。指針可以在任何時候指向到另一個對象。

3)引用必須在創(chuàng)建時被初始化。指針可以在任何時間被初始化。

下面代碼介紹其應用場景,供參考

/*
* Author:W;
* 變量引用:是已定義聲明的變量的“別名”
* 引用與指針的區(qū)別:
* 1)不存在空引用。引用必須連接到一塊合法的內(nèi)存。
* 2)一旦引用被初始化為一個對象,就不能被指向到另一個對象。指針可以在任何時候指向到另一個對象。
* 3)引用必須在創(chuàng)建時被初始化。指針可以在任何時間被初始化。
*/
 
//引入頭文件:頭文件包含了程序中必需的或有用的信息【單行注釋】
#include <iostream>
 
//命名空間使用
using namespace std;
//交換函數(shù)聲明
void swap(int& a, int& b);
//設置數(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;
	//【返回一個引用時,要注意被引用的對象不能超出作用域。所以返回一個對局部變量的引用是不合法的,但是,可以返回一個對靜態(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  */
}

運行結(jié)果如下:

到此這篇關(guān)于C++變量引用的概念介紹的文章就介紹到這了,更多相關(guān)C++變量引用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++ this指針和空指針的具體使用

    C++ this指針和空指針的具體使用

    這篇文章主要介紹了C++ this指針和空指針的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • OpenCV繪制圖形功能

    OpenCV繪制圖形功能

    這篇文章主要為大家詳細介紹了OpenCV繪制圖形功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • C語言中數(shù)據(jù)結(jié)構(gòu)之鏈式基數(shù)排序

    C語言中數(shù)據(jù)結(jié)構(gòu)之鏈式基數(shù)排序

    這篇文章主要介紹了C語言中數(shù)據(jù)結(jié)構(gòu)之鏈式基數(shù)排序的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下
    2017-09-09
  • C語言 設計模式之訪問者模式

    C語言 設計模式之訪問者模式

    這篇文章主要介紹了C語言 設計模式之訪問者模式的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • C語言判斷字符是否為可打印字符的方法

    C語言判斷字符是否為可打印字符的方法

    這篇文章主要介紹了C語言判斷字符是否為可打印字符的方法,分別為isprint()函數(shù)和isgraph()函數(shù)的使用,需要的朋友可以參考下
    2015-08-08
  • C++ COM編程之QueryInterface函數(shù)(一)

    C++ COM編程之QueryInterface函數(shù)(一)

    這篇文章主要介紹了C++ COM編程之QueryInterface函數(shù)(一),QueryInterface是組件本身提供對自己查詢的一個接口,需要的朋友可以參考下
    2014-10-10
  • c++函數(shù)指針和回調(diào)函數(shù)示例

    c++函數(shù)指針和回調(diào)函數(shù)示例

    這篇文章主要介紹了c++函數(shù)指針和回調(diào)函數(shù)示例,需要的朋友可以參考下
    2014-05-05
  • C++第11版本中的一些強大的新特性小結(jié)

    C++第11版本中的一些強大的新特性小結(jié)

    這篇文章主要介紹了C++第11版本中的一些強大的新特性小結(jié),需要的朋友可以參考下
    2015-12-12
  • QT線程QThread的使用介紹

    QT線程QThread的使用介紹

    在進行桌面應用程序開發(fā)的時候,假設程序在某些情況要處理復雜邏輯, 如果一個線程去處理,就會導致窗口卡頓,無法處理用戶操作。這就需要使用多線程,其中一個線程處理窗口事件,其他線程進行邏輯運算,多個線程各司其職,不僅可以提高用戶體驗還可以提升程序的執(zhí)行效率
    2022-09-09
  • C語言中`||`的短路機制詳解

    C語言中`||`的短路機制詳解

    在C語言中,邏輯或運算符(||)是一種常用的邏輯運算符,用于組合多個條件表達式,C語言中的邏輯或運算符具有短路機制,這是一種非常重要的概念,本文將深入解釋C語言中的||短路機制以及其在編程中的應用,感興趣的朋友跟隨小編一起看看吧
    2024-01-01

最新評論