在 C 中,可以使用預設參數聲明函數,從而無需為所有參數提供值即可呼叫它們。但是,指定預設參數的語法可能會有所不同。
情況 1:
<code class="cpp">int Add(int a, int b = 3); int Add(int a, int b);</code>
情況 2:
<code class="cpp">int Add(int a, int b); int Add(int a, int b = 3);</code>
兩種語法都是有效的。然而,標準且建議的方法是情況1,其中預設參數在函數宣告中指定。這是因為:
考慮以下場景:
情況1:
編譯器在編譯test.cpp時會在頭檔中看到預設參數宣告。這確保了對 test.cpp 中函數的呼叫有效,即使未明確提供預設參數。
情況2:
編譯器將在test.cpp編譯過程中看不到頭檔中的預設參數聲明,因為它僅在實作檔案(lib. cpp)中定義。這將導致 test.cpp 中出現編譯錯誤,因為未宣告預設參數。
因此,在函數宣告(lib.h)中指定預設參數是確保跨函數一致行為的標準方法不同的編譯單位。
以上是預設參數應該在 C 中的哪裡定義:宣告或定義?的詳細內容。更多資訊請關注PHP中文網其他相關文章!