亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

關(guān)于C++中引用的定義與使用詳解

 更新時間:2023年07月15日 10:22:12   作者:Pin_na  
這篇文章主要介紹了關(guān)于C++中引用和指針的區(qū)別,概念:引用是為已存在的變量取了一個別名,引用和引用的變量共用同一塊內(nèi)存空間,需要的朋友可以參考下

先舉幾個栗子:“及時雨”宋江、“臥龍”諸葛亮、“齊天大圣”孫悟空、“怡紅公子”賈寶玉。

上面幾個例子都是引用,不是叫一個新人物“及時雨”、“臥龍”等等,而是給這些任務(wù)取了一個別名,本質(zhì)上他們是一個人。

概念:引用是為已存在的變量取了一個別名,引用引用的變量共用同一塊內(nèi)存空間

格式:類型& 引用變量名(對象名) = 引用實體;   int& ra = a;  ra為a的引用

特點:

  • 引用實體引用類型必須為同種類型
  • 引用在定義時必須初始化
  • 一個實體可以有多個引用,但一個引用只能引用一個實體
void TestRef()
{
    int a = 1;
    int& ra; // 該條語句編譯時會出錯,引用定義時必須初始化
    int& ra = a;
    int& rra = a;
    printf("%p %p %p\n", &a, &ra, &rra);
}

常引用:const類型必須使用常引用 const int& ra = a;

void TestConstRef()
{
    const int a = 1;
    int& ra = a; // 該語句編譯時會出錯,a為常量
    const int& ra = a;
    const int& rd = d;
    double d = 1.00;
    int& rd = d; // 該語句編譯時會出錯,類型不同
}

使用場景:做參數(shù)、做返回值

  • 做參數(shù)
void Swap(int& left, int& right)
{
    int temp = left;
    left = right;
    right = temp;
}
  • 做返回值
int& TestRefReturn(int& a)
{
    a += 10;
    return a;
}

原理:引用是按指針方式實現(xiàn)的,所以底層上有空間,如果一個函數(shù)返回時,離開函數(shù)作用域后,其棧上空間已經(jīng)還給系統(tǒng),因此不能用棧上的空間作為引用類型返回,引用必類型返回值的生命周期必須比函數(shù)的生命周期長

int main()
{
    int a = 10;
    int& ra = a;
    ra = 20;
    int* pa = &a;
    *pa = 20;
    return 0;
}

匯編代碼:

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

相關(guān)文章

  • Visual Studio Code配置C/C++開發(fā)環(huán)境的教程圖解

    Visual Studio Code配置C/C++開發(fā)環(huán)境的教程圖解

    這篇文章主要介紹了Visual Studio Code配置C/C++開發(fā)環(huán)境的教程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • C++日期類的實現(xiàn)日期計算器舉例詳解

    C++日期類的實現(xiàn)日期計算器舉例詳解

    這篇文章主要給大家介紹了關(guān)于C++日期類實現(xiàn)日期計算器的相關(guān)資料,我們要考慮日期的增加和減少,自增和自減,以及兩個日期類的比較,以及當前日期類的日期顯示和用戶的輸入輸出,需要的朋友可以參考下
    2024-05-05
  • udp socket客戶端和udp服務(wù)端程序示例分享

    udp socket客戶端和udp服務(wù)端程序示例分享

    這篇文章主要介紹了udp socket客戶端和udp服務(wù)端程序示例,需要的朋友可以參考下
    2014-03-03
  • C++代碼實現(xiàn)雙向鏈表

    C++代碼實現(xiàn)雙向鏈表

    這篇文章主要為大家詳細介紹了C++代碼實現(xiàn)雙向鏈表,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • 基于C語言實現(xiàn)圖書管理信息系統(tǒng)設(shè)計

    基于C語言實現(xiàn)圖書管理信息系統(tǒng)設(shè)計

    這篇文章主要為大家詳細介紹了基于C語言實現(xiàn)圖書管理信息系統(tǒng)設(shè)計與實現(xiàn),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • C語言讀取寫入ini配置文件的方法實現(xiàn)

    C語言讀取寫入ini配置文件的方法實現(xiàn)

    本文主要介紹了C語言讀取寫入ini配置文件的方法實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • C++ OpenCV實戰(zhàn)之形狀識別

    C++ OpenCV實戰(zhàn)之形狀識別

    本案例通過使用OpenCV中的approxPolyDP進行多邊形近似,進而進行基礎(chǔ)形狀識別(圓、三角形、矩形、星形…),快跟隨小編一起動手嘗試一下
    2022-07-07
  • Qt實現(xiàn)文本編輯器(二)

    Qt實現(xiàn)文本編輯器(二)

    這篇文章主要介紹了利用Qt實現(xiàn)的一個文本編輯器。本文將具體講解下是如何實現(xiàn)菜單欄以及工具欄上對應(yīng)的需求,感興趣的可以動手試一試
    2022-01-01
  • C++開源庫nlohmann/json的介紹和使用詳解

    C++開源庫nlohmann/json的介紹和使用詳解

    nlohmann/json?是一個C++實現(xiàn)的JSON解析器,使用非常方便直觀,這篇文章主要為大家詳細介紹了nlohmann/json的簡介和使用,需要的可以參考下
    2023-12-12
  • C語言實現(xiàn)航班管理系統(tǒng)

    C語言實現(xiàn)航班管理系統(tǒng)

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)航班管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12

最新評論