最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++函數(shù)的默認參數(shù)詳情

 更新時間:2021年11月19日 08:51:14   作者:梁唐  
這篇文章主要介紹了C++函數(shù)的默認參數(shù)得相關(guān)資料,C++中的默認參數(shù)的用法和Python基本一致。使用默認參數(shù)的方法非常簡單,也就是我們在函數(shù)聲明的時候,就為某些參數(shù)指定好默認值,當我們調(diào)用函數(shù)的時候,如果沒有傳入對應的參數(shù),那么則使用默認值,下面來看文章具體內(nèi)容吧

文章轉(zhuǎn)自微信 公眾號:Coder梁(ID:Coder_LT)

C++當中的支持默認參數(shù),如果你學過Python,那么想必對此不會陌生。C++中的默認參數(shù)的用法和Python基本一致。

使用默認參數(shù)的方法非常簡單,也就是我們在函數(shù)聲明的時候,就為某些參數(shù)指定好默認值。當我們調(diào)用函數(shù)的時候,如果沒有傳入對應的參數(shù),那么則使用默認值。

比如:

void func(int a, int b=2, int c=3, int d=4) {
    cout << a << " " << b << " " << c << " " << d << endl;
}


在這個函數(shù)func當中,我們定義了三個變量的默認值,那么我們在調(diào)用的時候,以下這幾種方式都是可以的:

func(1);   // 1 2 3 4
func(1, 3);   // 1 3 3 4
func(1, 3, 5);  // 1 3 5 4
func(1, 3, 4, 8); // 1 3 4 8


另外,默認參數(shù)的值也不一定是定值,也可以是一個表達式,

例如:

class Test {
public:
    static int getValue() {
        return 1;
    }

    int func(int a, int b = getValue()) {
        return b;
    }
} ;


Python一樣,C++當中也有對默認參數(shù)的限制:如果某個參數(shù)是默認參數(shù),那么從它開始之后的所有參數(shù)必須都是默認參數(shù)。

void func(int a, int b=3, int c=4);  // 合法
void func(int a=3, int b=4, int c=5); // 合法
void func(int a, int b=3, int c);  // 非法


默認參數(shù)是一個非常好用的特性,熟練使用可以大大降低編碼的復雜度,可以實現(xiàn)各種高級操作。

但默認參數(shù)也有一個大坑,需要注意,就是和函數(shù)重載一起使用的時候。

比如我們有這樣兩個函數(shù):

void func(int a);
void func(int a, int b=3);


這兩個函數(shù)雖然函數(shù)名一樣,但是接收的參數(shù)不同。因此會被視作是函數(shù)重載,編譯器會根據(jù)我們傳入的參數(shù)進行判斷究竟調(diào)用哪一個。

但如果我們這樣調(diào)用函數(shù),則會引起歧義:

func(3);


因為編譯器會不知道究竟你是在調(diào)用哪一個函數(shù),于是就會引發(fā)下列的報錯:

到此這篇關(guān)于C++函數(shù)的默認參數(shù)詳情的文章就介紹到這了,更多相關(guān)C++函數(shù)的默認參數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++ socket實現(xiàn)miniFTP

    C++ socket實現(xiàn)miniFTP

    這篇文章主要為大家詳細介紹了C++ socket實現(xiàn)miniFTP的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • 去掉vs2010中ipch文件和.sdf文件的解決方法

    去掉vs2010中ipch文件和.sdf文件的解決方法

    本篇文章介紹了,在vs2010中產(chǎn)生的ipch文件和.sdf文件的解決方法。需要的朋友參考下
    2013-05-05
  • Qt中暫停程序的幾種方法小結(jié)

    Qt中暫停程序的幾種方法小結(jié)

    本文主要介紹了Qt中暫停程序的幾種方法小結(jié),包含了4種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-07-07
  • C++詳細實現(xiàn)紅黑樹流程詳解

    C++詳細實現(xiàn)紅黑樹流程詳解

    今天我要跟大家介紹二叉搜索樹中的另一顆樹——紅黑樹,它主要是通過控制顏色來控制自身的平衡,但它的平衡沒有AVL樹的平衡那么嚴格
    2022-06-06
  • 淺談C++20新增內(nèi)容

    淺談C++20新增內(nèi)容

    C++20 是 C++ 語言的一次重大更新,它引入了許多新特性,本文主要介紹了淺談C++20新增內(nèi)容,具有一定的參考價值,感興趣的可以了解一下
    2025-04-04
  • C++實現(xiàn)LeetCode(151.翻轉(zhuǎn)字符串中的單詞)

    C++實現(xiàn)LeetCode(151.翻轉(zhuǎn)字符串中的單詞)

    這篇文章主要介紹了C++實現(xiàn)LeetCode(151.翻轉(zhuǎn)字符串中的單詞),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C語言中對文件最基本的讀取和寫入函數(shù)

    C語言中對文件最基本的讀取和寫入函數(shù)

    這篇文章主要介紹了C語言中對文件最基本的讀取和寫入函數(shù),是C語言入門學習中的基礎知識,需要的朋友可以參考下
    2015-08-08
  • C++超詳細講解標準庫

    C++超詳細講解標準庫

    C++強大的功能來源于其豐富的類庫及庫函數(shù)資源。C++標準庫(C++ Standard Library, 亦可稱作,C++標準程序庫)的內(nèi)容總共在50個標準頭文件中定義。在C++開發(fā)中,要盡可能地利用標準庫完成
    2022-06-06
  • C++最短路徑Dijkstra算法的分析與具體實現(xiàn)詳解

    C++最短路徑Dijkstra算法的分析與具體實現(xiàn)詳解

    經(jīng)典的求解最短路徑算法有這么幾種:廣度優(yōu)先算法、Dijkstra算法、Floyd算法。本文是對?Dijkstra算法的總結(jié),該算法適用于帶權(quán)有向圖,可求出起始頂點到其他任意頂點的最小代價以及對應路徑,希望對大家有所幫助
    2023-03-03
  • C語言輸入三角形邊長判斷其類型并輸出面積實例代碼

    C語言輸入三角形邊長判斷其類型并輸出面積實例代碼

    這篇文章主要介紹了C語言輸入三角形邊長判斷其類型并輸出面積實例代碼,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01

最新評論

英山县| 新巴尔虎左旗| 阿瓦提县| 莲花县| 彰化县| 洛宁县| 罗平县| 长海县| 项城市| 大荔县| 恭城| 依安县| 丰城市| 浦江县| 格尔木市| 华坪县| 扶沟县| 博湖县| 健康| 区。| 阳西县| 本溪市| 资阳市| 南昌市| 蓝田县| 砀山县| 贡山| 乐昌市| 肇源县| 阆中市| 林口县| 璧山县| 博湖县| 昆山市| 淅川县| 波密县| 通化县| 嵩明县| 巴楚县| 买车| 平度市|