<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # C++ 編程默認參數(參數) > 原文: [https://www.programiz.com/cpp-programming/default-argument](https://www.programiz.com/cpp-programming/default-argument) #### 在本教程中,我們將通過示例學習 C++ 默認參數及其使用。 在 C++ 編程中,我們可以為[函數](/cpp-programming/function)參數提供默認值。 如果在不傳遞參數的情況下調用具有默認參數的函數,則使用默認參數。 但是,如果在調用函數時傳遞了參數,則默認參數將被忽略。 * * * ## 默認參數的工作原理 ![Working of Default Arguments in C++](https://img.kancloud.cn/f3/d9/f3d9c3f30adbf3e28b8537d1eb06d483.png "Working of Default Arguments in C++") C++ 中的默認參數如何工作 我們可以從上圖了解默認參數的工作方式: 1. 調用`temp()`時,該函數使用兩個默認參數。 2. 調用`temp(6)`時,第一個參數變為`10`,而第二個參數使用默認值。 3. 調用`temp(6, -2.3)`時,兩個默認參數都將被覆蓋,從而導致`i = 6`和`f = -2.3`。 4. 傳遞`temp(3.4)`時,該函數的行為異常,因為如果不傳遞第一個參數,則無法傳遞第二個參數。 因此,`3.4`作為第一個參數傳遞。 由于第一個參數已定義為`int`,因此實際傳遞的值為`3`。 * * * ## 示例:默認參數 ```cpp #include <iostream> using namespace std; // defining the default arguments void display(char = '*', int = 3); int main() { int count = 5; cout << "No argument passed: "; // *, 3 will be parameters display(); cout << "First argument passed: "; // #, 3 will be parameters display('#'); cout << "Both arguments passed: "; // $, 5 will be parameters display('$', count); return 0; } void display(char c, int count) { for(int i = 1; i <= count; ++i) { cout << c; } cout << endl; } ``` **輸出** ```cpp No argument passed: *** First argument passed: ### Both arguments passed: $$$$$ ``` 該程序的工作原理如下: 1. 在不傳遞任何參數的情況下調用`display()`。 在這種情況下,`display()`使用默認參數`c = '*'`和`n = 1`。 2. 僅使用一個參數調用`display('#')`。 在這種情況下,第一個變為`'#'`。 保留第二個默認參數`n = 1`。 3. 兩個參數都調用`display('#', count)`。 在這種情況下,不使用默認參數。 我們還可以在函數定義本身中定義默認參數。 下面的程序等同于上面的程序。 ```cpp #include <iostream> using namespace std; // defining the default arguments void display(char c = '*', int count = 3) { for(int i = 1; i <= count; ++i) { cout << c; } cout << endl; } int main() { int count = 5; cout << "No argument passed: "; // *, 3 will be parameters display(); cout << "First argument passed: "; // #, 3 will be parameters display('#'); cout << "Both argument passed: "; // $, 5 will be parameters display('$', count); return 0; } ``` * * * ## 要記住的事情 1. 一旦為參數提供默認值,所有后續參數也必須具有默認值。 例如 ```cpp // Invalid void add(int a, int b = 3, int c, int d); // Invalid void add(int a, int b = 3, int c, int d = 4); // Valid void add(int a, int c, int b = 3, int d = 4); ``` 2. 如果我們在函數定義中定義默認參數而不是函數原型,則必須在函數調用之前定義函數。 ```cpp // Invalid code int main() { // function call display(); } void display(char c = '*', int count = 5) { // code } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看