日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無(wú)先后,達(dá)者為師

網(wǎng)站首頁(yè) 編程語(yǔ)言 正文

C++詳細(xì)分析講解函數(shù)參數(shù)的擴(kuò)展_C 語(yǔ)言

作者:清風(fēng)自在?流水潺潺 ? 更新時(shí)間: 2022-06-19 編程語(yǔ)言

一、函數(shù)參數(shù)的默認(rèn)值

  • C++ 中可以在函數(shù)聲明時(shí)為參數(shù)提供一個(gè)默認(rèn)值
  • 當(dāng)函數(shù)調(diào)用時(shí)沒有提供參數(shù)的值,則使用默認(rèn)值
  • 參數(shù)的默認(rèn)值必須在函數(shù)聲明中指定

下面看一段代碼:

#include <stdio.h>
int mul(int x = 0);
int main(int argc, char *argv[])
{
    printf("%d\n", mul());
    printf("%d\n", mul(-1));
    printf("%d\n", mul(2));
    return 0;
}
int mul(int x)
{
    return x * x;
}

下面分別是該程序在 C++ 和 C語(yǔ)言環(huán)境下的編譯結(jié)果:

在 C++ 編譯環(huán)境下程序能夠編譯通過(guò),而在 C 語(yǔ)言條件下就不行,這就說(shuō)明了函數(shù)參數(shù)的默認(rèn)值是 C++ 語(yǔ)言對(duì) C語(yǔ)言的一個(gè)擴(kuò)展。且函數(shù)參數(shù)的默認(rèn)值在定義時(shí)不會(huì)報(bào)錯(cuò),如果放在函數(shù)申明時(shí)會(huì)報(bào)錯(cuò)。

函數(shù)默認(rèn)參數(shù)的規(guī)則

  • 參數(shù)的默認(rèn)值必須從右向左提供
  • 函數(shù)調(diào)用時(shí)使用了默認(rèn)值,則后續(xù)參數(shù)必須使用默認(rèn)值

如下所示:

下面看一段代碼感受一下:

#include <stdio.h>
int add(int x, int y = 0, int z = 0);
int main(int argc, char *argv[])
{
    printf("%d\n", add(1));
    printf("%d\n", add(1, 2));
    printf("%d\n", add(1, 2, 3));
    return 0;
}
int add(int x, int y, int z)
{
    return x + y + z;
}

下面為輸出結(jié)果:

二、函數(shù)占位參數(shù)

在 C++ 中可以為函數(shù)提供占位參數(shù)

  • 占位參數(shù)只有參數(shù)類型聲明,而沒有參數(shù)名聲明
  • 一般情況下,在函|數(shù)體內(nèi)部無(wú)法使用占位參數(shù)

也就是說(shuō),下面這種表示方法在 C++ 中是沒有問題的:

函數(shù)占位參數(shù)的意義

  • 占位參數(shù)與默認(rèn)參數(shù)結(jié)合起來(lái)使用
  • 兼容C語(yǔ)言程序中可能出現(xiàn)的不規(guī)范寫法

就比如說(shuō),下面這兩種表示方式,在 C++ 中表示相同的意思,表示沒有參數(shù)輸入;而在C 語(yǔ)言中前者表示可輸入?yún)?shù)個(gè)數(shù)不受限制,而后者表示沒有參數(shù)輸入

下面看一段代碼:

#include <stdio.h>
int func(int x, int = 0);
int main(int argc, char *argv[])
{
    printf("%d\n", func(1));
    printf("%d\n", func(2, 3));
    return 0;
}
int func(int x, int)
{
    return x;
}

下面為改代碼在C++和C語(yǔ)言兩種編譯條件下的輸出結(jié)果:

三、小結(jié)

  • C++ 中支持函數(shù)參數(shù)的默認(rèn)值
  • 如果函數(shù)調(diào)用時(shí)沒有提供參數(shù)值,則使用默認(rèn)值
  • 參數(shù)的默認(rèn)值必須從右向左提供
  • 函數(shù)調(diào)用時(shí)使用了默認(rèn)值,則后續(xù)參數(shù)必須使用默認(rèn)值
  • C++ 中支持占位參數(shù),用于兼容C語(yǔ)言中的不規(guī)范寫法

原文鏈接:https://blog.csdn.net/weixin_43129713/article/details/122625173

欄目分類
最近更新