深入理解C++中常見(jiàn)的關(guān)鍵字含義
更新時(shí)間:2013年05月23日 17:12:39 作者:
本篇文章是對(duì)C++中常見(jiàn)關(guān)鍵字的含義進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
1. inline:定義內(nèi)聯(lián)函數(shù),該關(guān)鍵字是基于定義,如果只在函數(shù)聲明時(shí)給出inline,則函數(shù)不會(huì)被認(rèn)為是內(nèi)聯(lián)函數(shù),所以必須在函數(shù)定義的地方也加上inline,同時(shí)inline只是向編譯器建議函數(shù)以?xún)?nèi)聯(lián)函數(shù)處理,不是強(qiáng)制的。
2. const:定義常成員,包括const數(shù)據(jù)成員和const成員函數(shù),const數(shù)據(jù)成員必須,也只能通過(guò)構(gòu)造函數(shù)的初始化列表進(jìn)行初始化,const成員函數(shù)只能訪問(wèn)類(lèi)的成員,不能進(jìn)行修改,如果需要修改,則引入下面的mutable關(guān)鍵字。
3.mutable:這個(gè)關(guān)鍵字的引入是解決const成員函數(shù)要修改成員變量,通常而言,const成員函數(shù)只能訪問(wèn)成員變量,不能修改,但是如果成員變量被mutable修飾了,則在const成員函數(shù)中可以修改該變量。mutable和const不能同時(shí)用于修飾成員變量。
4. static:聲明靜態(tài)成員,包括靜態(tài)數(shù)據(jù)成員和靜態(tài)成員函數(shù),它們被類(lèi)的所有對(duì)象共享,靜態(tài)數(shù)據(jù)成員在使用前必須初始化,而靜態(tài)成員函數(shù)只能訪問(wèn)靜態(tài)數(shù)據(jù)成員,不能訪問(wèn)非靜態(tài)數(shù)據(jù)成員,因?yàn)樵摵瘮?shù)不含有this指針。
5. virtual:聲明虛函數(shù),用于實(shí)現(xiàn)多態(tài),該關(guān)鍵字是基于聲明的。
6. friend:聲明友元函數(shù)和友元類(lèi),該關(guān)鍵字也是基于聲明的。
7. volatile:被該關(guān)鍵字修飾的變量是指其值可能在編譯器認(rèn)識(shí)的范圍外被修改,因此編譯器不要對(duì)該變量進(jìn)行的操作進(jìn)行優(yōu)化??梢耘cconst同時(shí)修飾一個(gè)變量。
2. const:定義常成員,包括const數(shù)據(jù)成員和const成員函數(shù),const數(shù)據(jù)成員必須,也只能通過(guò)構(gòu)造函數(shù)的初始化列表進(jìn)行初始化,const成員函數(shù)只能訪問(wèn)類(lèi)的成員,不能進(jìn)行修改,如果需要修改,則引入下面的mutable關(guān)鍵字。
3.mutable:這個(gè)關(guān)鍵字的引入是解決const成員函數(shù)要修改成員變量,通常而言,const成員函數(shù)只能訪問(wèn)成員變量,不能修改,但是如果成員變量被mutable修飾了,則在const成員函數(shù)中可以修改該變量。mutable和const不能同時(shí)用于修飾成員變量。
4. static:聲明靜態(tài)成員,包括靜態(tài)數(shù)據(jù)成員和靜態(tài)成員函數(shù),它們被類(lèi)的所有對(duì)象共享,靜態(tài)數(shù)據(jù)成員在使用前必須初始化,而靜態(tài)成員函數(shù)只能訪問(wèn)靜態(tài)數(shù)據(jù)成員,不能訪問(wèn)非靜態(tài)數(shù)據(jù)成員,因?yàn)樵摵瘮?shù)不含有this指針。
5. virtual:聲明虛函數(shù),用于實(shí)現(xiàn)多態(tài),該關(guān)鍵字是基于聲明的。
6. friend:聲明友元函數(shù)和友元類(lèi),該關(guān)鍵字也是基于聲明的。
7. volatile:被該關(guān)鍵字修飾的變量是指其值可能在編譯器認(rèn)識(shí)的范圍外被修改,因此編譯器不要對(duì)該變量進(jìn)行的操作進(jìn)行優(yōu)化??梢耘cconst同時(shí)修飾一個(gè)變量。
相關(guān)文章
C語(yǔ)言實(shí)現(xiàn)點(diǎn)餐系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)點(diǎn)餐系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11
C語(yǔ)言光標(biāo)信息CONSOLE_CURSOR_INFO類(lèi)型詳解
本文詳細(xì)講解了C語(yǔ)言光標(biāo)信息CONSOLE_CURSOR_INFO類(lèi)型,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-12-12
Qt中Tab與Tree組件實(shí)現(xiàn)分頁(yè)菜單
本文主要介紹tabWidget選擇夾組件與TreeWidget樹(shù)形選擇組件的常用方法及靈活運(yùn)用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-12-12
OpenCV中C++函數(shù)imread讀取圖片的問(wèn)題及解決方法
利用C++函數(shù)imread讀取圖片的時(shí)候返回的結(jié)果總是空,而利用C函數(shù)cvLoadImage時(shí)卻能讀取到圖像。怎么回事?今天小編通過(guò)本教程給大家簡(jiǎn)單說(shuō)明原因2017-03-03
C++字符串和數(shù)字的去重操作和鞍點(diǎn)的尋找
大家好,本篇文章主要講的是C++字符串和數(shù)字的去重操作和鞍點(diǎn)的尋找,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話(huà)記得收藏一下,方便下次瀏覽2021-12-12

