亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

功能參數的默認值

功能參數的默認值

C++
紅顏莎娜 2019-11-25 12:49:46
1。int Add (int a, int b = 3);int Add (int a, int b){}2。int Add (int a, int b);int Add (int a, int b = 3){}兩者都起作用;這是標準方法,為什么?
查看完整描述

3 回答

?
德瑪西亞99

TA貢獻1770條經驗 獲得超3個贊

如果將聲明放在頭文件中,將定義放在單獨的.cpp文件中,并將#include頭放在其他.cpp文件中,則可以看到不同之處。


具體來說,假設:


int Add(int a, int b);

庫文件

int Add(int a, int b = 3) {

   ...

}

測試文件

#include "lib.h"


int main() {

    Add(4);

}

的編譯test.cpp將看不到默認參數聲明,并且將失敗并顯示錯誤。


因此,通常在函數聲明中指定默認參數定義:


int Add(int a, int b = 3);


查看完整回答
反對 回復 2019-11-25
?
犯罪嫌疑人X

TA貢獻2080條經驗 獲得超4個贊

第一種方法比第二種方法更可取。

這是因為頭文件將顯示該參數是可選的,以及其默認值是什么。此外,無論相應的.cpp文件如何實現,這都將確保默認值相同。

在第二種方式中,不能保證第二個參數的默認值。默認值可能會更改,具體取決于相應的.cpp文件的實現方式。


查看完整回答
反對 回復 2019-11-25
  • 3 回答
  • 0 關注
  • 404 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號