C++ 參數(shù)與參數(shù)值

2023-03-20 15:49 更新

我們用過的一些內(nèi)置函數(shù)攜帶參數(shù),即你提供給函數(shù)讓它工作的一些值。比如,如果你想計算一個數(shù)的正弦值,你需要指定這個數(shù)是多少。因此sin函數(shù)使用一個double值作為參數(shù)。

一些函數(shù)攜帶一個以上的參數(shù),如pow攜帶兩個double參數(shù),分別作為底數(shù)和冪。

注意,在所有這些例子中,我們不僅要指定參數(shù)的個數(shù),還要指定參數(shù)的類型。所以當(dāng)你寫一個類定義時,發(fā)現(xiàn)參數(shù)列表指定了每個參數(shù)的類型,這應(yīng)該沒什么奇怪的。例:

void printTwice (char phil) {
   cout << phil << phil << endl;
}

此函數(shù)攜帶一個參數(shù),名稱為phil,類型為char。不管這個參數(shù)是什么(光看這些我們也不知道它是什么),它都要被打印兩次,然后是一個空行。我選擇給這個參數(shù)命名為phil,只是想說明你的參數(shù)名稱由你決定,但是一般情況下你要選擇一個比phil更直白的名字。

調(diào)用這個函數(shù)需要我們給一個char值。例如,我們可以定義main函數(shù)如下:
void main () {
  printTwice (’a’);
}

你提供的這個char值被稱作參數(shù)值,我們稱參數(shù)值被傳遞給函數(shù)。這種情況’a’作為參數(shù)值傳給了printTwice,它將被打印兩次。

換一種方式,如果我們定義了一個char變量,就可以換用此變量做參數(shù)值:

void main () {
     char argument = ’b’;
     printTwice (argument);
}

注意這里一點非常重要:作為參數(shù)值傳給函數(shù)的變量名(argument)跟函數(shù)的參數(shù)名(phil)沒有任何關(guān)系。我再重申一遍:

作為參數(shù)值傳給函數(shù)的變量名跟函數(shù)的參數(shù)名沒有任何關(guān)系。

它們可以同名也可以不同名,但重要的是你必須認(rèn)識到它們不是同一個東西,除非它們碰巧值相同(本例中它們都是字符’b’)。

傳給函數(shù)的參數(shù)值必須和函數(shù)的參數(shù)具有相同的類型。這是條重要的規(guī)則,但有時會混淆,因為C++會自動轉(zhuǎn)換參數(shù)值的類型?,F(xiàn)在你應(yīng)該了解這些普遍規(guī)則,后面我們再討論例外情況。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號