本篇文章為大家展示了C++11中怎么引用限定成員函數(shù),內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。
成都創(chuàng)新互聯(lián)10多年專注成都高端網(wǎng)站建設(shè)按需求定制制作服務(wù),為客戶提供專業(yè)的成都網(wǎng)站制作,成都網(wǎng)頁(yè)設(shè)計(jì),成都網(wǎng)站設(shè)計(jì)服務(wù);成都創(chuàng)新互聯(lián)服務(wù)內(nèi)容包含成都網(wǎng)站建設(shè),微信小程序定制開(kāi)發(fā),軟件開(kāi)發(fā),網(wǎng)絡(luò)營(yíng)銷推廣,網(wǎng)絡(luò)運(yùn)營(yíng)服務(wù)及企業(yè)形象設(shè)計(jì);成都創(chuàng)新互聯(lián)擁有眾多專業(yè)的高端網(wǎng)站制作開(kāi)發(fā)團(tuán)隊(duì),資深的高端網(wǎng)頁(yè)設(shè)計(jì)團(tuán)隊(duì)及經(jīng)驗(yàn)豐富的架構(gòu)師高端網(wǎng)站策劃團(tuán)隊(duì);我們始終堅(jiān)持從客戶的角度出發(fā),為客戶量身訂造網(wǎng)絡(luò)營(yíng)銷方案,解決網(wǎng)絡(luò)營(yíng)銷疑問(wèn)。
曳光彈類
根據(jù)需要的不同,代碼也會(huì)有所不同。
代碼除了實(shí)現(xiàn)了,構(gòu)造函數(shù)、析構(gòu)函數(shù)以外,還
實(shí)現(xiàn)了setText和output兩個(gè)方法用于修改內(nèi)容和輸出內(nèi)容
重載了+=運(yùn)算符和+運(yùn)算符用于對(duì)象連接
參照代碼
作為后面內(nèi)容的鋪墊,考慮下面的代碼:
代碼中生成了t1,t2連個(gè)實(shí)例,然后將二者相加并輸出。值得注意的是:t1+t2的結(jié)果并沒(méi)有傳遞給另外的對(duì)象而是直接調(diào)用output方法,輸出結(jié)果可以參照下圖,主要關(guān)注“================“之間的部分。
首先創(chuàng)建了一個(gè)臨時(shí)對(duì)象,輸出以后立刻被銷毀。這個(gè)對(duì)象就是一個(gè)右值,通過(guò)對(duì)右值調(diào)用對(duì)象方法可以的到正確的輸出。如果我們的目的就是輸出結(jié)果的話,沒(méi)有任何問(wèn)題。
上面的例子中對(duì)一個(gè)右值調(diào)用了output方法,看起來(lái)很自然,但是調(diào)用其他的函數(shù)就不一定那么自然了。例如下面的代碼對(duì)t1+t2的結(jié)果調(diào)用了setText方法:
輸出結(jié)果如下:
雖然setText方法被正常調(diào)用,但是這個(gè)對(duì)象馬上被銷毀了而無(wú)法訪問(wèn)。換句話說(shuō)這是一段無(wú)效代碼。相信這也不是程序員的本意。
引用限定符(reference qualifier)
目的很簡(jiǎn)單,就是希望加一個(gè)限制,使得右值對(duì)象不能調(diào)用setText方法。手段也同樣簡(jiǎn)單,只要在方法簽名的后面添加一個(gè)“&“,就可以通知編譯器,這個(gè)函數(shù)只對(duì)左值(引用)有效。就像下面這樣:
添加了引用限定以后,下面的代碼就會(huì)產(chǎn)生編譯錯(cuò)誤。
上述內(nèi)容就是C++11中怎么引用限定成員函數(shù),你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
名稱欄目:C++11中怎么引用限定成員函數(shù)
網(wǎng)頁(yè)網(wǎng)址:http://jinyejixie.com/article40/ggeoho.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、建站公司、手機(jī)網(wǎng)站建設(shè)、ChatGPT、網(wǎng)站設(shè)計(jì)公司、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)