深入理解C++中常見的關鍵字含義
更新時間:2013年05月23日 17:12:39 作者:
本篇文章是對C++中常見關鍵字的含義進行了詳細的分析介紹,需要的朋友參考下
1. inline:定義內(nèi)聯(lián)函數(shù),該關鍵字是基于定義,如果只在函數(shù)聲明時給出inline,則函數(shù)不會被認為是內(nèi)聯(lián)函數(shù),所以必須在函數(shù)定義的地方也加上inline,同時inline只是向編譯器建議函數(shù)以內(nèi)聯(lián)函數(shù)處理,不是強制的。
2. const:定義常成員,包括const數(shù)據(jù)成員和const成員函數(shù),const數(shù)據(jù)成員必須,也只能通過構造函數(shù)的初始化列表進行初始化,const成員函數(shù)只能訪問類的成員,不能進行修改,如果需要修改,則引入下面的mutable關鍵字。
3.mutable:這個關鍵字的引入是解決const成員函數(shù)要修改成員變量,通常而言,const成員函數(shù)只能訪問成員變量,不能修改,但是如果成員變量被mutable修飾了,則在const成員函數(shù)中可以修改該變量。mutable和const不能同時用于修飾成員變量。
4. static:聲明靜態(tài)成員,包括靜態(tài)數(shù)據(jù)成員和靜態(tài)成員函數(shù),它們被類的所有對象共享,靜態(tài)數(shù)據(jù)成員在使用前必須初始化,而靜態(tài)成員函數(shù)只能訪問靜態(tài)數(shù)據(jù)成員,不能訪問非靜態(tài)數(shù)據(jù)成員,因為該函數(shù)不含有this指針。
5. virtual:聲明虛函數(shù),用于實現(xiàn)多態(tài),該關鍵字是基于聲明的。
6. friend:聲明友元函數(shù)和友元類,該關鍵字也是基于聲明的。
7. volatile:被該關鍵字修飾的變量是指其值可能在編譯器認識的范圍外被修改,因此編譯器不要對該變量進行的操作進行優(yōu)化。可以與const同時修飾一個變量。
2. const:定義常成員,包括const數(shù)據(jù)成員和const成員函數(shù),const數(shù)據(jù)成員必須,也只能通過構造函數(shù)的初始化列表進行初始化,const成員函數(shù)只能訪問類的成員,不能進行修改,如果需要修改,則引入下面的mutable關鍵字。
3.mutable:這個關鍵字的引入是解決const成員函數(shù)要修改成員變量,通常而言,const成員函數(shù)只能訪問成員變量,不能修改,但是如果成員變量被mutable修飾了,則在const成員函數(shù)中可以修改該變量。mutable和const不能同時用于修飾成員變量。
4. static:聲明靜態(tài)成員,包括靜態(tài)數(shù)據(jù)成員和靜態(tài)成員函數(shù),它們被類的所有對象共享,靜態(tài)數(shù)據(jù)成員在使用前必須初始化,而靜態(tài)成員函數(shù)只能訪問靜態(tài)數(shù)據(jù)成員,不能訪問非靜態(tài)數(shù)據(jù)成員,因為該函數(shù)不含有this指針。
5. virtual:聲明虛函數(shù),用于實現(xiàn)多態(tài),該關鍵字是基于聲明的。
6. friend:聲明友元函數(shù)和友元類,該關鍵字也是基于聲明的。
7. volatile:被該關鍵字修飾的變量是指其值可能在編譯器認識的范圍外被修改,因此編譯器不要對該變量進行的操作進行優(yōu)化。可以與const同時修飾一個變量。
相關文章
CLion搭建配置C++開發(fā)環(huán)境的圖文教程 (MinGW-W64 GCC-8.1.0)
這篇文章主要介紹了CLion搭建配置C++開發(fā)環(huán)境的教程 (MinGW-W64 GCC-8.1.0),本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-02-02C++設置系統(tǒng)時間及系統(tǒng)時間網(wǎng)絡更新的方法
這篇文章主要介紹了C++設置系統(tǒng)時間及系統(tǒng)時間網(wǎng)絡更新的方法,涉及網(wǎng)絡程序設計與系統(tǒng)函數(shù)的使用,需要的朋友可以參考下2014-10-10C語言中使用qsort函數(shù)對自定義結(jié)構體數(shù)組進行排序
這篇文章主要介紹了C語言中使用qsort函數(shù)對自定義結(jié)構體數(shù)組進行排序,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11Visual Studio2000系列版本安裝OpenGL的圖文教程
這篇文章主要介紹了Visual Studio2000系列版本安裝OpenGL的圖文教程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04C語言創(chuàng)建鏈表錯誤之通過指針參數(shù)申請動態(tài)內(nèi)存實例分析
這篇文章主要介紹了C語言創(chuàng)建鏈表錯誤之通過指針參數(shù)申請動態(tài)內(nèi)存,是鏈表創(chuàng)建過程中非常常見的經(jīng)典錯誤。實例中做了較為詳盡的分析,需要的朋友可以參考下2014-09-09codeblocks 對‘cv::waitKey(int)’未定義的引用方式
今天小編就為大家分享一篇codeblocks 對‘cv::waitKey(int)’未定義的引用方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12