<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>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                [TOC] # 簡介 c++提供了函數弭謗,實際上是建立一個通用函數.其函數類型和形參類型不具體制定,用一個虛擬的類型來代表.這個通用函數就成為函數模板. 凡是函數體相同的函數都可以用這個模板代替,不必定義多個函數,只需在模板中定義一次即可. 在調用函數時,系統會根據實參的類型來取代模板中的虛擬類型,從而實現不同函數的功能. * c++提供兩種模板機制:函數模板和類模板 * 類屬-類型參數化,又稱參數模板 總結: * 模板把函數或者類要處理的數據類型參數化,表現為參數的多態性,成為類屬 * 模板用于表達邏輯結構相同,但具體數據元素類型不同的數據對象的通用行為. **編譯器還會對函數模板和類模板進行二次編譯** ~~~ //讓編譯器看到這句話,后面緊跟著的函數里有 template<class T> void mySwap(T &a, T &b) //第一次編譯 { T tmp = a; a = b; b = tmp; } void test02() { int a = 11; int b = 22; mySwap(a, b); //編譯器在函數模板被調用進行二次編譯,把T改為int,虛擬類型改為真實的 cout << "a = " << a << endl; cout << "b = " << b << endl; char c = 'a'; //mySwap(a, c); //err 兩個參數數據類型在模板定義中是一致的 //顯示的指定類型 mySwap<int>(a, b); //<>用參數列表告訴編譯器我只傳int類型 // mySwap<double>(a, b); //注意:指定類型,傳入時不能不一致 mySwap<>(a, b); } ~~~ **隱式轉換,需要參數列表** ~~~ //讓編譯器看到這句話,后面緊跟著的函數里有 template<class T> // template<typename T>這樣也可以 T func(T a, T b) { return a + b; } void test02() { int a = 10; double b = 20.2; //如果使用參數列表指定數據類型,那么實參中可以隱式轉換 //如果轉換成功,就調用,轉換不成功就報錯 int res = func<int>(10, 20.2); //會有警告 cout << "結果是: " << res << endl; } ~~~
                  <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>

                              哎呀哎呀视频在线观看