最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

C++知識(shí)分享:C++函數(shù)修飾符總結(jié)

2022-01-13 19:50 作者:C語(yǔ)言編程__Plus  | 我要投稿

C++博大精深,而且不斷擁抱新的變化。本文簡(jiǎn)要總結(jié)一下C++中函數(shù)的修飾符,其中部分在實(shí)際中極少用到。

按修飾符的位置分為函數(shù)名前與函數(shù)名后兩種,以下分別做介紹。


函數(shù)名前

返回值類型

返回值類型是C++中定義函數(shù)的必備部分,這些修飾符包括void,(unsigned)?int,bool等內(nèi)置基本數(shù)據(jù)類型和自定義類型,也包括修飾返回值const關(guān)鍵字(如const?int*),還包括C++11中新增的類型自動(dòng)推導(dǎo)auto關(guān)鍵字。

template

template關(guān)鍵字聲明函數(shù)是模板函數(shù)。

virtual

virtual關(guān)鍵字聲明函數(shù)是虛函數(shù),可被子類覆蓋。

inline

inline關(guān)鍵字提示編譯器應(yīng)將函數(shù)內(nèi)聯(lián)。

static

static修飾類的成員函數(shù)時(shí)指示函數(shù)是靜態(tài)成員函數(shù),不從屬于具體對(duì)象;修飾單獨(dú)的函數(shù)時(shí),限定函數(shù)的可見范圍為本文件內(nèi)。

extern

extern關(guān)鍵字聲明一個(gè)定義在外部的函數(shù)

explicit

explicit關(guān)鍵字在C++11新增,只用于構(gòu)造函數(shù),指定構(gòu)造函數(shù)要顯式定義,不能隱式轉(zhuǎn)換。

friend

friend關(guān)鍵字聲明類的友元函數(shù),在函數(shù)內(nèi)可直接訪問對(duì)象的私有或受保護(hù)成員及成員函數(shù)。

constexpr

C++11中新增,指示函數(shù)返回常量表達(dá)式(可以簡(jiǎn)單理解為返回字面量)。


函數(shù)名后

置于函數(shù)名后的修飾符有兩種,第一種使用等號(hào)(=),第二種直接修飾。

使用等號(hào)

此類較為簡(jiǎn)單,總共有三種:

=0:只能用于虛函數(shù),表示函數(shù)為純虛函數(shù)

=default:C++11新增,只能用于編譯器提供默認(rèn)實(shí)現(xiàn)的特殊成員函數(shù),指示使用默認(rèn)實(shí)現(xiàn)。

=delete:C++11新增,只能用于編譯器提供默認(rèn)實(shí)現(xiàn)的特殊成員函數(shù),指示編譯器應(yīng)該刪除該函數(shù)的默認(rèn)實(shí)現(xiàn)。

直接修飾

種類繁多,本人已知的修飾符包括:

const

表示函數(shù)不會(huì)修改對(duì)象(或者說(shuō)調(diào)用期間對(duì)象不變),注意不包括mutable修飾的成員變量,可參考之前文章:C++中的mutable和volatile。

volatile

類似于const修飾的函數(shù),表示對(duì)象狀態(tài)可能隨時(shí)會(huì)改變;const修飾的函數(shù)內(nèi)只能調(diào)用自身的const成員方法,同理volatile函數(shù)內(nèi)也只能調(diào)用自身volatile成員函數(shù)。

&

C++11引入的功能,左值引用限定符,指示函數(shù)只能被左值對(duì)象調(diào)用。

&&

C++11引入,右值引用限定符,指示函數(shù)只能被右值調(diào)用。如果函數(shù)沒有引用限定符修飾,左值和右值均可調(diào)用。一個(gè)引用限定例子:


override

C++11引入的功能,聲明成員函數(shù)覆蓋父類的虛函數(shù)。聲明為override后,子類聲明時(shí)可不寫virtual。

final

C++11引入,指示函數(shù)是最終實(shí)現(xiàn),子類不應(yīng)當(dāng)再定義或覆蓋,可與override同時(shí)使用。

noexcept

C++11引入,修飾函數(shù)是否會(huì)拋出異常。

throw

指示函數(shù)拋出異常及類型,C++11起被廢棄

總結(jié)

本文簡(jiǎn)要概括的列出了C++定義函數(shù)的修飾符。需要注意的是,嚴(yán)格來(lái)說(shuō)上述內(nèi)容中并不全是修飾符,部分僅是語(yǔ)法結(jié)構(gòu)。

寫在最后:對(duì)于準(zhǔn)備學(xué)習(xí)C/C++編程的小伙伴,如果你想更好的提升你的編程核心能力(內(nèi)功)不妨從現(xiàn)在開始!

微信公眾號(hào):C語(yǔ)言編程學(xué)習(xí)基地

C語(yǔ)言零基礎(chǔ)入門教程(83集全)

整理分享(多年學(xué)習(xí)的源碼、項(xiàng)目實(shí)戰(zhàn)視頻、項(xiàng)目筆記,基礎(chǔ)入門教程)

歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長(zhǎng)比自己琢磨更快哦!



C++知識(shí)分享:C++函數(shù)修飾符總結(jié)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
白山市| 浦东新区| 齐河县| 昔阳县| 庆云县| 宁武县| 渝北区| 云浮市| 麻栗坡县| 响水县| 格尔木市| 瑞金市| 英德市| 广平县| 安乡县| 华坪县| 连南| 顺义区| 准格尔旗| 绍兴市| 全州县| 无棣县| 东丽区| 连平县| 金溪县| 新绛县| 得荣县| 临湘市| 刚察县| 遵义县| 广德县| 大城县| 托克逊县| 广南县| 专栏| 咸阳市| 金山区| 永修县| 玉溪市| 阜新市| 临城县|