欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++中函數(shù)的默認(rèn)參數(shù)詳細(xì)解析

 更新時間:2013年10月14日 10:19:16   作者:  
在函數(shù)聲明或定義時,直接對參數(shù)賦值,該參數(shù)就是默認(rèn)參數(shù)。在函數(shù)調(diào)用時,省略部分或全部參數(shù),這時就會使用默認(rèn)參數(shù)進行代替

使用方法:
(1)在函數(shù)聲明或定義時,直接對參數(shù)賦值,該參數(shù)就是默認(rèn)參數(shù)。
(2)在函數(shù)調(diào)用時,省略部分或全部參數(shù),這時就會使用默認(rèn)參數(shù)進行代替。

注意事項:
(1)一般在聲明函數(shù)是設(shè)置默認(rèn)參數(shù)。

如果在函數(shù)聲明和定義函數(shù)時都設(shè)置了默認(rèn)參數(shù),則以函數(shù)聲明的默認(rèn)參數(shù)為準(zhǔn)。

復(fù)制代碼 代碼如下:

#include<iostream>
using namespace std;
int main()
{
 double add(double a=3.2,double b=9.6);//在函數(shù)聲明時設(shè)置默認(rèn)參數(shù)
 cout<<add()<<endl;         //使用默認(rèn)參數(shù)
 return 0;
}
double add(double a=3.2,double b=9.5)//在定義函數(shù)時設(shè)置默認(rèn)參數(shù)
{
 return a+b;
}

運行結(jié)果:

(2)默認(rèn)參數(shù)的定義順序是自右向左。

即如果設(shè)置了一個缺省值,其右邊的參數(shù)也應(yīng)該設(shè)定一個缺省值。

即:

復(fù)制代碼 代碼如下:

<pre name="code" class="cpp">int add(int a,int b=1,int c=1);</pre> 

這樣做是正確的。

而:

復(fù)制代碼 代碼如下:

int add(int a=1,int b,int c);

這樣做是錯誤的。

這樣做是因為實參傳給系統(tǒng)之后,系統(tǒng)會自左向右與形參進行匹配。

如果函數(shù)時add(1,2),那么a=1,b=2,c等于多少呢?我們只有把參數(shù)全部傳遞過去之后,系統(tǒng)才能獲得c的值,但這樣做的話,為什么還要設(shè)置函數(shù)的默認(rèn)參數(shù)呢?

所以編譯系統(tǒng)不允許程序員這么做,因為這么做是毫無意義的。
(3)默認(rèn)參數(shù)的調(diào)用順序是自左向右。

我們在使用函數(shù)的時候,實參必須是由左自右書寫的。

復(fù)制代碼 代碼如下:

/*正確的用法*/
add(1,2,3);//傳遞三個參數(shù)的值
add(1,2);//傳遞兩個參數(shù)的值
add(1);//傳遞一個參數(shù)的值
add();//不傳遞參數(shù)的值
/*錯誤的用法*/
add(,2,3);//不能省略掉左邊的參數(shù)的值,應(yīng)該右左向右傳值

錯誤的提示:

相關(guān)文章

  • C語言 深入講解條件編譯的用處

    C語言 深入講解條件編譯的用處

    C語言提供了條件編譯的語法,就是在編譯源碼的時候,可以選擇性地編譯指定的代碼。例如我們開發(fā)一個兼容windows系統(tǒng)和linux系統(tǒng)運行的項目,那么,一些與操作系統(tǒng)密切相關(guān)的代碼,就需要進行選擇性編譯
    2022-04-04
  • 數(shù)組指針、指針數(shù)組以及二位數(shù)組的深入解析

    數(shù)組指針、指針數(shù)組以及二位數(shù)組的深入解析

    下面來講講多維數(shù)組與指針的關(guān)系。與普通數(shù)組一樣,使用多維數(shù)組時,實際上將其自動轉(zhuǎn)換為指向該數(shù)組第一個元素的指針
    2013-09-09
  • C++基于消息隊列的多線程實現(xiàn)示例代碼

    C++基于消息隊列的多線程實現(xiàn)示例代碼

    這篇文章主要給大家介紹了關(guān)于C++基于消息隊列的多線程實現(xiàn)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用C++具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • C/C++?Qt?數(shù)據(jù)庫與TreeView組件綁定詳解

    C/C++?Qt?數(shù)據(jù)庫與TreeView組件綁定詳解

    本篇文章主要介紹了QT數(shù)據(jù)庫與View組件的綁定,通過數(shù)據(jù)庫與組件關(guān)聯(lián)可實現(xiàn)動態(tài)展示數(shù)據(jù)庫中的表記錄。感興趣的小伙伴可以了解一下
    2021-12-12
  • C++實現(xiàn)LeetCode(206.倒置鏈表)

    C++實現(xiàn)LeetCode(206.倒置鏈表)

    這篇文章主要介紹了C++實現(xiàn)LeetCode(206.倒置鏈表),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C++ 中類對象類型的轉(zhuǎn)化的實例詳解

    C++ 中類對象類型的轉(zhuǎn)化的實例詳解

    這篇文章主要介紹了C++ 中類對象類型的轉(zhuǎn)化的實例詳解的相關(guān)資料,這里提供實例幫助大家學(xué)習(xí)理解這部分內(nèi)容,需要的朋友可以參考下
    2017-08-08
  • CLion開發(fā)stm32?使用DSP庫的操作方法

    CLion開發(fā)stm32?使用DSP庫的操作方法

    這篇文章主要介紹了CLion開發(fā)stm32?使用DSP庫的方法,首先需要添加DSP庫文件到工程目錄,修改CMakeLists,添加STM32HAL庫,本文結(jié)合實例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • C數(shù)據(jù)結(jié)構(gòu)之單鏈表詳細(xì)示例分析

    C數(shù)據(jù)結(jié)構(gòu)之單鏈表詳細(xì)示例分析

    以下是對C語言中的單鏈表進行了詳細(xì)的分析介紹,需要的朋友可以過來參考下
    2013-08-08
  • C++11新特性之自定義字面量

    C++11新特性之自定義字面量

    這篇文章主要介紹了C++11新特性之自定義字面量的相關(guān)資料,幫助大家更好的學(xué)習(xí)c++,感興趣的朋友可以了解下
    2020-08-08
  • C++ 中消息隊列函數(shù)實例詳解

    C++ 中消息隊列函數(shù)實例詳解

    這篇文章主要介紹了C++ 中消息隊列函數(shù)實例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-06-06

最新評論