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

C++初階教程之缺省參數(shù)與函數(shù)重載

 更新時間:2023年04月23日 10:22:46   作者:sukuni  
缺省參數(shù)是聲明或定義函數(shù)時為函數(shù)的參數(shù)指定一個缺省值,在調(diào)用該函數(shù)時如果沒有指定實參則采用該形參的缺省值,否則使用指定的實參,這篇文章主要給大家介紹了關(guān)于C++初階之缺省參數(shù)與函數(shù)重載的相關(guān)資料,需要的朋友可以參考下

一.缺省參數(shù)

C++祖師爺在用C寫代碼的時候,就覺得有些地方用著很不方便,于是就在C++設計了缺省參數(shù),在實現(xiàn)一些功能時,用這個就方便了許多。

1.概念

缺省參數(shù)是聲明或定義函數(shù)時為函數(shù)的參數(shù)指定一個缺省值。在調(diào)用該函數(shù)時:

      a.如果沒有指定實參則采用該形參的缺省值;

      b.否則使用指定的實參。

例:

2.分類

a.全缺省參數(shù):函數(shù)的所有參數(shù)都是缺省參數(shù)。

//全缺省參數(shù)
void func(int a=10,int b=20)
{
    return a+b;
}

b.半缺省參數(shù):函數(shù)的部分參數(shù)是缺省參數(shù),并不是非得有一半是缺省參數(shù)。

//半缺省參數(shù)
void func(int a,int b=20,int c=10)
{
    return a+b+c;
}

3.注意

a.缺省參數(shù)是從右往左,所以不能隔著給;

b.函數(shù)傳參是從左往右,所以不能跳著傳參;

c.函數(shù)的聲明和定義不能同時出現(xiàn)缺省參數(shù),只能在聲明出現(xiàn),定義不能出現(xiàn);

d.缺省值必須是常量或是全局變量。

二.函數(shù)重載

先來講講重載在生活中的例子。

簡單來說就是一個詞的不同意思,我們來看一個笑話吧:

            國有兩個體育項目大家根本不用看,也不用擔心。一個是乒乓球,一個是男足。前者是“誰也贏不了!”,后者是“誰也贏不了!

同一詞”誰也贏不了“,表達的卻是不同的意思,這就是重載。

1.概念

函數(shù)重載:是函數(shù)的一種特殊情況,C++允許在同一作用域中聲明幾個功能類似的同名數(shù);

特點:

          a.同名

          b.參數(shù)的類型,個數(shù),類型順序不同

          c.與返回值是否相同無關(guān)

注意:函數(shù)中有缺省參數(shù)也可以認為是函數(shù)重載;

例:

void func()
{
    cout << 1 << endl;
}
 
void func(int a = 10)
{
    cout << 10 << endl;
}
 
//但這種情況要注意,如果這樣調(diào)用函數(shù):func(),就會報錯

如果使用不當,會造成這個錯誤:

注意以下情形并不構(gòu)成函數(shù)重載:

int add(int a, int b)
{
    return a + b;
}
 
int add(int b, int a)
{
    return a + b;
}

至于為什么不構(gòu)成,這就涉及到函數(shù)重載的原理了,下面讓我們一起來看看函數(shù)重載的原理吧。

2.C++支持函數(shù)重載的原理

C++編譯器中,調(diào)用函數(shù)時,不是直接用函數(shù)名,而是會對函數(shù)名進行修飾,根據(jù)修飾后的調(diào)用函數(shù)。而C編譯器并不會對函數(shù)進行修飾,它是直接用函數(shù)名來調(diào)用函數(shù)的,所以C不支持函數(shù)重載。

所以上述不構(gòu)成函數(shù)重載的情形就得到了解釋。

不同環(huán)境下的修飾規(guī)則不同,vs的較為復雜,這里以Linux的修飾規(guī)則為例

Linux的修飾規(guī)則

_Z+函數(shù)名的長度+函數(shù)名+參數(shù)類型的第一個字母

void  func(int a,double b);
//Linux環(huán)境下修飾后的:_Z4funcid

總結(jié)

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

相關(guān)文章

  • C++的數(shù)據(jù)類型你真的了解嗎

    C++的數(shù)據(jù)類型你真的了解嗎

    這篇文章主要為大家詳細介紹了C++的數(shù)據(jù)類型,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • C語言實現(xiàn)Linux下的socket文件傳輸實例

    C語言實現(xiàn)Linux下的socket文件傳輸實例

    這篇文章主要介紹了C語言實現(xiàn)Linux下的socket文件傳輸?shù)姆椒?較為詳細的分析了C語言文件Socket文件傳輸客戶端與服務器端相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2015-06-06
  • Gstreamer基礎知識教程

    Gstreamer基礎知識教程

    由于deepstream是基于gstreamer的,所以要想在deepstream上做拓展,需要對gstreamer有一定的認識,以下主要介紹Gstreamer整體框架和Gstreamer基礎概念,需要的朋友可以參考下
    2022-07-07
  • C++17之std::visit的具體使用

    C++17之std::visit的具體使用

    本文主要介紹了C++17之std::visit的具體使用,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • CLOSE_WAIT狀態(tài)解決方案

    CLOSE_WAIT狀態(tài)解決方案

    這篇文章主要介紹了CLOSE_WAIT狀態(tài)解決方案,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • 一般函數(shù)指針和類的成員函數(shù)指針深入解析

    一般函數(shù)指針和類的成員函數(shù)指針深入解析

    以下是對一般函數(shù)指針和類的成員函數(shù)指針進行了介紹。需要的朋友可以過來參考下
    2013-08-08
  • C++中的map使用方法詳解

    C++中的map使用方法詳解

    C++中的map是一種關(guān)聯(lián)容器,用于存儲鍵值對。它提供了一種非常高效的方法來快速查找特定的值,并且允許我們根據(jù)鍵來排序和遍歷數(shù)據(jù)。在本文中,我們將深入了解C++中的map以及如何使用它來提高程序的效率,感興趣的朋友可以參考下
    2023-05-05
  • C語言數(shù)據(jù)結(jié)構(gòu)不掛科指南之隊列詳解

    C語言數(shù)據(jù)結(jié)構(gòu)不掛科指南之隊列詳解

    這篇博客主要介紹一下隊列的概念,并且采用 C 語言,編寫兩種存儲實現(xiàn)方式:順序存儲和鏈式存儲,當然還有常規(guī)的隊列基本操作的實現(xiàn)算法
    2022-09-09
  • 一文詳解C++仿函數(shù)

    一文詳解C++仿函數(shù)

    本文主要介紹了一文詳解C++仿函數(shù),主要用途是提供一種靈活的方式來定義和操作數(shù)據(jù),下面就來介紹一下仿函數(shù)的使用,感興趣的可以了解一下
    2025-04-04
  • C++實現(xiàn)雙向鏈表(List)

    C++實現(xiàn)雙向鏈表(List)

    這篇文章主要為大家詳細介紹了C++實現(xiàn)雙向鏈表,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-05-05

最新評論

偏关县| 平湖市| 上思县| 外汇| 万宁市| 库伦旗| 邯郸县| 绥宁县| 井冈山市| 蓬溪县| 沁阳市| 丰镇市| 枣强县| 长丰县| 子洲县| 四川省| 苏州市| 延川县| 依兰县| 嘉禾县| 鹤壁市| 长沙县| 新竹市| 益阳市| 龙泉市| 普宁市| 囊谦县| 平阴县| 双桥区| 甘孜县| 神木县| 林口县| 西丰县| 鸡西市| 博白县| 西藏| 保康县| 浦东新区| 象州县| 卫辉市| 宝清县|