色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

c++引用詳細(xì)解說1

jf_78858299 ? 來源:阿Q正磚 ? 作者:阿Q ? 2023-02-15 09:40 ? 次閱讀

1、基本概念

百度百科是這樣解釋的:C++C語言的繼承,它可進(jìn)行過程化程序設(shè)計(jì),又可以進(jìn)行以抽象數(shù)據(jù)類型為特點(diǎn)的基于對(duì)象的程序設(shè)計(jì),還可以進(jìn)行以繼承和多態(tài)為特點(diǎn)的面向?qū)ο蟮某绦蛟O(shè)計(jì)。

引用(reference)就是C++對(duì)C語言的重要擴(kuò)充。引用就是某一變量(目標(biāo))的一個(gè)別名,對(duì)引用的操作與對(duì)變量直接操作完全一樣,編譯器不會(huì)為引用變量開辟內(nèi)存空間,它和它引用的變量共用同一塊內(nèi)存空間。引用的聲明方法:類型標(biāo)識(shí)符 &引用名=目標(biāo)變量名。

別名,又可以說是外號(hào),代稱,比如水滸傳里幾乎是別名最多的地方。林沖,在家稱為"林教頭",江湖上人稱"豹子頭"。教頭和豹子頭就是林沖的別名。

2、區(qū)分

&就是引用,但是&這個(gè)操作符和取地址&操作符是重疊的,所以它們需要不同的場景規(guī)范:

當(dāng) &b單獨(dú)存在時(shí),這時(shí)就代表取地址,為取出變量的地址。

但是如果這樣:

int main(){            int a = 10;            int& b = a; // 引用            int* p = &b; // 取地址            return 0;}

當(dāng) & 位于類型和變量名之間時(shí),為引用。

3、本質(zhì)

調(diào)試查看一下 a 和 b 的關(guān)系:

圖片

我們發(fā)現(xiàn)a和b的值不僅相等,連它的地址也是相同的。這就可以說明,b就是a ,但是在語法層面上,這里b并不是開辟的新空間,而是對(duì)原來的a取了一個(gè)新名稱,叫做b。

就好比林沖被叫做豹子頭一樣,林沖還是林沖,豹子頭也是它;而a就是a,但是b也是 a 。

圖片

而如果這時(shí)候?qū)?a 或 b 任意一個(gè)修改,那么 a 和 b 都會(huì)發(fā)生修改。

圖片

4、特性

引用有以下3點(diǎn)是必須注意的?。。?/p>

  1. 引用必須在定義時(shí)初始化

圖片

引用是取別名,所以在定義的時(shí)候必須明確是誰的別名。

  1. 一個(gè)變量可以有多個(gè)引用

就和林沖一樣,他可以叫豹子頭也可以叫林教頭,這都是它。

所以一個(gè)變量也可以有多個(gè)別名。

圖片

而對(duì)于一個(gè)起過別名的變量,對(duì)它的別名取別名也是可以的。

圖片

而從根本上看,就可以這么理解:

圖片

本質(zhì)上還是一個(gè)變量。

但是別名不能和正式名字沖突,就比如取過別名,就不能定義和別名重名的變量,即使它們的類型并不相同。

圖片

所以說這里的報(bào)錯(cuò)信息并不準(zhǔn)確,實(shí)際上是命名沖突。

  1. 引用一旦引用一個(gè)實(shí)體,就不能引用其他實(shí)體
int main(){    int a = 10;            int& b = a;            int c = 20;           b = c;            return 0;}

對(duì)于下一組代碼,有什么含義?

  • 讓 b 變成 c 的別名?
  • 還是把 c 賦值給 b ?

這里的代碼意思是第二個(gè)含義,就是賦值,我們調(diào)試看看:

圖片

調(diào)試我們也可以看到,我們只是把 c 的值賦值給了 b ,b 的地址還是沒變的 ,并且 a 的值也改變了。

這就說明引用一旦引用某一個(gè)實(shí)體,就不能引用其他的實(shí)體,引用是不會(huì)發(fā)生改變的。

因?yàn)樗鼈兪峭耆?dú)立的兩個(gè)變量,僅有的關(guān)聯(lián)也只是值相等,改變 b 并不能影響 c ,但是此時(shí) b 是 a 的別名,所以改變 b 就會(huì)影響 a 。

圖:

圖片

但是對(duì)于指針,則是截然不同的:

int main()
{        
    int a = 10;        
    int c = 20;        
    int* p = &a;        
    p = &c;        
    return 0;
}
對(duì)于指針來說,指針就可以時(shí)刻修改:

圖片

p原本指向 a ,現(xiàn)在指向 c.

但是引用也有局限性,因?yàn)橐弥蟮淖兞渴遣豢尚薷囊玫?,比如鏈表,?jié)點(diǎn)是要不斷更替迭代的,所以還需要指針配合,C++才可以寫出一個(gè)鏈表。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    c引用和指針的區(qū)別

    is derived-declarator-type-list cv-qualifier-seq pointer to T。 The cv-qualifiers apply to the pointer and not to the object pointer to. 摘自《ANSI C++ Standard》
    發(fā)表于 09-27 15:19 ?1次下載
    <b class='flag-5'>c</b><b class='flag-5'>引用</b>和指針的區(qū)別

    Visual C++教程之C++的語言資料概述免費(fèi)下載

    本文檔詳細(xì)介紹的是Visual C++教程之C++的語言資料概述免費(fèi)下載主要內(nèi)容包括了:1CC++
    發(fā)表于 02-15 15:59 ?3次下載
    Visual <b class='flag-5'>C++</b>教程之<b class='flag-5'>C++</b>的語言資料概述免費(fèi)下載

    C++程序設(shè)計(jì)教程之?dāng)?shù)據(jù)類型的詳細(xì)資料說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是C++程序設(shè)計(jì)教程之?dāng)?shù)據(jù)類型的詳細(xì)資料說明。1. 整型 ( int Types ) , 2.整型子類 ( sub-int Types ) , 3.浮點(diǎn)型
    發(fā)表于 02-21 17:18 ?3次下載
    <b class='flag-5'>C++</b>程序設(shè)計(jì)教程之?dāng)?shù)據(jù)類型的<b class='flag-5'>詳細(xì)</b>資料說明

    C++程序設(shè)計(jì)教程之C++的初步知識(shí)的詳細(xì)資料說明

    C++程序設(shè)計(jì)教程之C++的初步知識(shí)的詳細(xì)資料說明包括了:1. 從CC++,2 . 最簡單的
    發(fā)表于 03-14 14:48 ?31次下載
    <b class='flag-5'>C++</b>程序設(shè)計(jì)教程之<b class='flag-5'>C++</b>的初步知識(shí)的<b class='flag-5'>詳細(xì)</b>資料說明

    C++程序設(shè)計(jì)教程之?dāng)?shù)組的詳細(xì)資料說明

    本文檔詳細(xì)介紹的是C++程序設(shè)計(jì)教程之?dāng)?shù)組的詳細(xì)資料說明主要內(nèi)容包括了:1. 數(shù)組的概念,2. 一維數(shù)組的定義和引用,3. 二維數(shù)組的定義和
    發(fā)表于 03-14 14:48 ?10次下載
    <b class='flag-5'>C++</b>程序設(shè)計(jì)教程之?dāng)?shù)組的<b class='flag-5'>詳細(xì)</b>資料說明

    C++程序設(shè)計(jì)教程之C++工具的詳細(xì)資料說明

    本文檔的詳細(xì)介紹的是C++程序設(shè)計(jì)教程之C++工具的詳細(xì)資料說明主要內(nèi)容包括了:1. 異常處理,2. 命名空間,3. 使用早期的函數(shù)庫
    發(fā)表于 03-14 16:39 ?4次下載
    <b class='flag-5'>C++</b>程序設(shè)計(jì)教程之<b class='flag-5'>C++</b>工具的<b class='flag-5'>詳細(xì)</b>資料說明

    C++程序設(shè)計(jì)的基礎(chǔ)知識(shí)初步了解C++的資料免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是C++程序設(shè)計(jì)的基礎(chǔ)知識(shí)初步了解C++的資料免費(fèi)下載包括了:1 認(rèn)識(shí)C++,2
    發(fā)表于 06-10 08:00 ?25次下載
    <b class='flag-5'>C++</b>程序設(shè)計(jì)的基礎(chǔ)知識(shí)初步了解<b class='flag-5'>C++</b>的資料免費(fèi)下載

    C++引用的使用場景

    C++引用的使用場景
    的頭像 發(fā)表于 06-29 15:18 ?4109次閱讀
    <b class='flag-5'>C++</b>:<b class='flag-5'>引用</b>的使用場景

    C++中的const和引用的討論

    今天給大家分享一下這段時(shí)間學(xué)習(xí)c++的總結(jié)學(xué)習(xí):c++里面的const關(guān)鍵字和引用
    的頭像 發(fā)表于 12-24 15:35 ?879次閱讀

    C語言和C++的特點(diǎn)與用法詳細(xì)說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是C語言和C++的特點(diǎn)與用法詳細(xì)說明。
    的頭像 發(fā)表于 12-26 10:58 ?4456次閱讀

    C++基礎(chǔ)語法中的引用、封裝和多態(tài)

    本期是C++基礎(chǔ)語法分享的第六節(jié),今天給大家來分享一下: (1引用; (2)宏; (3)成員初始化列表; (4)封裝; (5)繼承; (6)多態(tài); 引用 左值
    的頭像 發(fā)表于 09-12 09:58 ?1341次閱讀

    c++引用詳細(xì)解說2

    C++C語言的繼承,它可進(jìn)行過程化程序設(shè)計(jì),又可以進(jìn)行以抽象數(shù)據(jù)類型為特點(diǎn)的基于對(duì)象的程序設(shè)計(jì),還可以進(jìn)行以繼承和多態(tài)為特點(diǎn)的面向?qū)ο蟮某绦蛟O(shè)計(jì)。
    的頭像 發(fā)表于 02-15 09:43 ?530次閱讀
    <b class='flag-5'>c++</b><b class='flag-5'>引用</b><b class='flag-5'>詳細(xì)</b><b class='flag-5'>解說</b>2

    c++引用詳細(xì)解說3

    C++C語言的繼承,它可進(jìn)行過程化程序設(shè)計(jì),又可以進(jìn)行以抽象數(shù)據(jù)類型為特點(diǎn)的基于對(duì)象的程序設(shè)計(jì),還可以進(jìn)行以繼承和多態(tài)為特點(diǎn)的面向?qū)ο蟮某绦蛟O(shè)計(jì)。
    的頭像 發(fā)表于 02-15 09:43 ?573次閱讀
    <b class='flag-5'>c++</b><b class='flag-5'>引用</b><b class='flag-5'>詳細(xì)</b><b class='flag-5'>解說</b>3

    c++引用詳細(xì)解說4

    C++C語言的繼承,它可進(jìn)行過程化程序設(shè)計(jì),又可以進(jìn)行以抽象數(shù)據(jù)類型為特點(diǎn)的基于對(duì)象的程序設(shè)計(jì),還可以進(jìn)行以繼承和多態(tài)為特點(diǎn)的面向?qū)ο蟮某绦蛟O(shè)計(jì)。
    的頭像 發(fā)表于 02-15 09:43 ?551次閱讀
    <b class='flag-5'>c++</b><b class='flag-5'>引用</b><b class='flag-5'>詳細(xì)</b><b class='flag-5'>解說</b>4

    C++引用和指針

    之前的文章我們已經(jīng)介紹了C++中的基本類型如int,bool和double等,除了基本類型C++還有一些更復(fù)雜的數(shù)據(jù)類型復(fù)合類型,所謂的復(fù)合類型就是通過其他類型定義的類型,本篇文章我們將會(huì)著重介紹C++的復(fù)合類型
    的頭像 發(fā)表于 03-17 14:00 ?666次閱讀
    主站蜘蛛池模板: 白丝高中生被c爽哭 | 亚洲免费三区 | 男女久久久国产一区二区三区 | 在线视频 日韩视频二区 | 国产欧美第一页 | 综合久久久久久久综合网 | xxnxx动漫| 美女被爆羞羞天美传媒 | 涩涩视频www在线观看入口 | 亚洲一二三产品区别在哪里 | 国精产品一区一区三区有限在线 | 性色爽爱性色爽爱网站 | 成人免费看片又大又黄 | 97亚洲狠狠色综合久久位 | 在线看免费毛片 | 大屁股国产白浆一二区 | 特级做A爰片毛片免费看108 | 日本 稀土矿 | 亚洲精品沙发午睡系列 | 甜涩性爱下载 | 亚洲成人免费在线 | 伊人青青草原 | 久久这里只精品热在线18 | 久久 这里只精品 免费 | 男男被强bl高h文 | 久久国产亚洲精品AV麻豆 | 欧美午夜不卡在线观看 | xxxxhdvideos动漫| 免费韩伦影院在线观看 | 哇嘎在线精品视频在线观看 | 波多野结衣的AV一区二区三区 | 国产在线亚洲精品观看不卡 | 扒开校花粉嫩小泬喷潮漫画 | 成人无码国产AV免费看 | 精品手机在线1卡二卡3卡四卡 | 色欲色香天天天综合 | 24小时日本在线 | 永久免费精品精品永久-夜色 | 好吊妞在线成人免费 | 亚洲爆乳无码精品AAA片蜜桃 | 在线观看亚洲AV无码每日更新 |