亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C++中的函數(shù)修飾符深入講解

 更新時間:2019年02月06日 11:09:27   作者:tlanyan  
這篇文章主要給大家介紹了關于C++中函數(shù)修飾符的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧

前言

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

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

函數(shù)名前

1、返回值類型

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

2、 template

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

3、 virtual

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

4、 inline

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

5、 static

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

6、 extern

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

7、 explicit

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

8、 friend

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

9、 constexpr

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

函數(shù)名后

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

1、使用等號

此類較為簡單,總共有三種:

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

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

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

2、直接修飾

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

const

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

volatile

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

&

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

&&

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

 #include <iostream>
 struct S {
 void f() & { std::cout << "lvalue\n"; }
 void f() &&{ std::cout << "rvalue\n"; }
 };

 int main(){
 S s;
 s.f();   // 打印“ lvalue ”
 std::move(s).f(); // 打印“ rvalue ”
 S().f();   // 打印“ rvalue ”
 }

override

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

final

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

noexcept

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

throw

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

總結(jié)

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

好了,以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關文章

  • visual studio code 編譯運行html css js文件的教程

    visual studio code 編譯運行html css js文件的教程

    這篇文章主要介紹了visual studio code 如何編譯運行html css js文件,本文通過圖文實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • 詳解C語言實現(xiàn)推箱子的基本功能

    詳解C語言實現(xiàn)推箱子的基本功能

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)推箱子的基本功能的方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • C++ 風靡一時的連連看游戲的實現(xiàn)流程詳解

    C++ 風靡一時的連連看游戲的實現(xiàn)流程詳解

    游戲“連連看”是源自臺灣的桌面小游戲,自從流入大陸以來風靡一時,也吸引眾多程序員開發(fā)出多種版本的“連連看”。這其中,顧芳編寫的“阿達連連看”以其精良的制作廣受好評,這也成為顧方“阿達系列軟件”的核心產(chǎn)品。并于2004年,取得國家版權局的計算機軟件登記證書
    2021-11-11
  • VS2019配置BOOST的方法(v1.70.0庫)

    VS2019配置BOOST的方法(v1.70.0庫)

    這篇文章主要介紹了VS2019配置BOOST的方法(v1.70.0庫),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • C++實現(xiàn)LeetCode(210.課程清單之二)

    C++實現(xiàn)LeetCode(210.課程清單之二)

    這篇文章主要介紹了C++實現(xiàn)LeetCode(210.課程清單之二),本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • C++容器適配器的概念與示例

    C++容器適配器的概念與示例

    C++?STL(標準模板庫)是一套功能強大的?C++?模板類,提供了通用的模板類和函數(shù),這些模板類和函數(shù)可以實現(xiàn)多種流行和常用的算法和數(shù)據(jù)結(jié)構,如向量、鏈表、隊列、棧,今天我們來探究一下stl容器適配器的使用吧
    2023-01-01
  • Qt使用TabWidget實現(xiàn)多窗體功能

    Qt使用TabWidget實現(xiàn)多窗體功能

    Qt 是一個跨平臺C++圖形界面開發(fā)庫,利用Qt可以快速開發(fā)跨平臺窗體應用程序,在Qt中我們可以通過拖拽的方式將不同組件放到指定的位置,本章將重點介紹TabWidget標簽組件的常用方法及靈活運用,需要的朋友可以參考下
    2023-12-12
  • 整型數(shù)據(jù)在內(nèi)存中存儲方式的講解

    整型數(shù)據(jù)在內(nèi)存中存儲方式的講解

    今天小編就為大家分享一篇關于整型數(shù)據(jù)在內(nèi)存中存儲方式的講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • C語言鏈表與單鏈表詳解

    C語言鏈表與單鏈表詳解

    鏈表是一種物理存儲結(jié)構上非連續(xù)、非順序的存儲結(jié)構,數(shù)據(jù)元素的邏輯順序是通過鏈表中的指針鏈接次序?qū)崿F(xiàn)的,本章帶你詳細了解鏈表與單鏈表
    2022-02-02
  • 詳解C++中stoi/stol/stoll函數(shù)的用法

    詳解C++中stoi/stol/stoll函數(shù)的用法

    這篇文章主要為大家詳細介紹了C++中stoi、stol、stoll函數(shù)的具體用法,文中的示例代碼講解詳細,對我們學校C++有一點的幫助,需要的可以參考一下
    2023-03-03

最新評論