99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

關(guān)于右值引用的一點(diǎn)理解

冬至子 ? 來源:鳴鳴鑼的小屋 ? 作者:Maxwell Luo ? 2023-07-21 17:38 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

>>> 背景

我們知道對(duì)于一些C++內(nèi)建類型來說,ostream類的操作符<<都提供了輸出到標(biāo)準(zhǔn)輸出流的方法,只需要像下面這樣就能輸出到終端窗口了。

int num = 1;
string str = "number";
cout < < str < < " is " < < num;

但是對(duì)于自建類的話,就需要其他的手段輸出想要的內(nèi)容了。通過重載<<操作符并聲明為ostream類的友元是常見的方法。下面就是一種常見的書寫范式。

class Persion
{
private:
    string name;
    int age;


public:
    Persion() = delete;
    Persion(string a_name, int a_age) : 
        name(a_name), age(a_age) {}
    friend ostream& operator< "(lvalue)A persion object with name: " < < per.name < < ", age: " < < per.age;
        return os;
    }
};

>>> 問題

我在使用下面這串代碼對(duì)重載的效果進(jìn)行測試的時(shí)候,編譯器報(bào)出了問題,它告訴把右值賦給了要求左值引用的參數(shù)。

cout < < Persion("maxwell", 18) < < endl;

圖片

>>> 解決方案

C++11之后,使用&來聲明左值引用,使用&&來聲明右值引用。在上述測試語句中,Persion( "maxwell" , 18 )是一個(gè)臨時(shí)變量,屬于右值。因此,如果想要上述測試語句通過,還需要對(duì)類補(bǔ)充一個(gè)右值引用的成員函數(shù)。如下所示。

class Persion
{
    // ...
    friend ostream& operator< "(rvalue)A persion object with name: " < < per.name < < ", age: " < < per.age;
        return os;
    }
};
聲明:本文內(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)投訴
  • C++語言
    +關(guān)注

    關(guān)注

    0

    文章

    147

    瀏覽量

    7305
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    請(qǐng)問各位大俠關(guān)于開關(guān)電源哪些書講的比較容易理解一點(diǎn)啊,謝謝

    請(qǐng)問各位大俠關(guān)于開關(guān)電源哪些書講的比較容易理解一點(diǎn)啊,謝謝
    發(fā)表于 06-17 20:46

    STM32的一點(diǎn)資料

    給新手的一點(diǎn)關(guān)于STM32的學(xué)習(xí)資料!
    發(fā)表于 08-15 10:48

    關(guān)于通信原理的一點(diǎn)總結(jié)

    關(guān)于通信原理的一點(diǎn)總結(jié)
    發(fā)表于 08-20 10:00

    有沒有什么好的方法來理解引用句柄

    求教各位,對(duì)于各種引用句柄,如VI引用句柄,控件引用句柄等有沒有什么好理解一點(diǎn)的方法,用在什么地方,看書上感覺
    發(fā)表于 06-03 13:29

    關(guān)于光立方的驅(qū)動(dòng)的一點(diǎn)看法

    本帖最后由 ntmusic 于 2013-9-7 11:10 編輯 首先,我沒有自己做過光立方,所以在這里有點(diǎn)班門弄虎了但是,雖然沒有做過實(shí)物,但關(guān)于光立方的驅(qū)動(dòng)我還是有一點(diǎn)點(diǎn)研究的個(gè)好的光
    發(fā)表于 09-07 09:42

    關(guān)于看門狗的一點(diǎn)經(jīng)驗(yàn)程序

    關(guān)于看門狗的一點(diǎn)經(jīng)驗(yàn)程序跑飛時(shí)可以通過看門狗復(fù)位,嘗試恢復(fù)系統(tǒng)的工作,本文對(duì)stm32的Markdown和擴(kuò)展Markdown簡潔的語法代碼塊高亮圖片鏈接和圖片上傳LaTex數(shù)學(xué)公式UML序列圖
    發(fā)表于 07-30 06:37

    對(duì)一點(diǎn)開環(huán)與閉環(huán)概念的理解

    對(duì)一點(diǎn)概念的理解
    發(fā)表于 11-12 06:42

    一點(diǎn)接地,什么是一點(diǎn)接地,一點(diǎn)接地應(yīng)注意的問題

    一點(diǎn)接地,什么是一點(diǎn)接地 一點(diǎn)接地的形式如下圖所示,圖中將各級(jí)內(nèi)部的接地元件,即本級(jí)電路的發(fā)射極,基極和集電極的所有接
    發(fā)表于 09-30 11:35 ?2.8w次閱讀
    <b class='flag-5'>一點(diǎn)</b>接地,什么是<b class='flag-5'>一點(diǎn)</b>接地,<b class='flag-5'>一點(diǎn)</b>接地應(yīng)注意的問題

    關(guān)于畫高頻PCB板的一點(diǎn)心得

    關(guān)于畫高頻PCB板的一點(diǎn)心得,感興趣的小伙伴們可以看看。
    發(fā)表于 07-26 16:29 ?0次下載

    路燈藍(lán)光危害你造嗎?專家建議“冷一點(diǎn),暗一點(diǎn)

    美國醫(yī)學(xué)會(huì)(AMA)最近接受了項(xiàng)關(guān)于街道照明的正式政策聲明:冷一點(diǎn)、暗一點(diǎn)。其在聲明中稱,對(duì)于晚上戶外照明,尤其是街道照明,其色溫不應(yīng)超過3000開爾文(K)。較高的色溫光照越白,同
    發(fā)表于 11-18 08:59 ?3578次閱讀

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

    。 引用 引用就是必須綁定到
    的頭像 發(fā)表于 09-12 09:58 ?1549次閱讀

    一點(diǎn)理解之 CmBacktrace: ARM Cortex-M 系列 MCU 錯(cuò)誤追蹤庫

    一點(diǎn)理解之 CmBacktrace: ARM Cortex-M 系列 MCU 錯(cuò)誤追蹤庫
    發(fā)表于 11-30 19:51 ?10次下載
    <b class='flag-5'>一點(diǎn)</b><b class='flag-5'>理解</b>之 CmBacktrace: ARM Cortex-M 系列 MCU 錯(cuò)誤追蹤庫

    關(guān)于連接量子比特的一點(diǎn):量子計(jì)算

    關(guān)于連接量子比特的一點(diǎn):量子計(jì)算
    的頭像 發(fā)表于 01-04 11:17 ?1359次閱讀
    <b class='flag-5'>關(guān)于</b>連接量子比特的<b class='flag-5'>一點(diǎn)</b>:量子計(jì)算

    什么是左、呢?左右和左右引用

    什么是左、呢?種極不嚴(yán)謹(jǐn)?shù)?b class='flag-5'>理解為:在賦值的時(shí)候,能夠被放到等號(hào)左邊的為左
    的頭像 發(fā)表于 07-18 15:39 ?3899次閱讀
    什么是左<b class='flag-5'>值</b>、<b class='flag-5'>右</b><b class='flag-5'>值</b>呢?左右<b class='flag-5'>值</b>和左右<b class='flag-5'>值</b><b class='flag-5'>引用</b>

    大功率貼片電感的電感偏大一點(diǎn)可以用嗎

    電子發(fā)燒友網(wǎng)站提供《大功率貼片電感的電感偏大一點(diǎn)可以用嗎.docx》資料免費(fèi)下載
    發(fā)表于 09-20 11:33 ?0次下載