#include "iostream"
#include "cstdlib"
using
namespace
std;
/*函式模板的深入理解
― 編譯器並不是把函式模板處理成能夠處理任意型別的函式
― 編譯器從函式模板通過具體型別產生不同的函式
― 編譯器會對函式模板進行兩次編譯
― 在宣告的地方對模板**本身進行編譯
― 在呼叫的地方對引數替換後的**進行編譯
*///template告訴編譯器,這裡開始進行泛型程式設計
//typename告訴編譯器,型別名稱為t 編譯器你看到型別t 不要亂報錯。。。。
//t為型別,型別引數化而已
template
void swap2(t &a, t &b)
int main()
深入理解函式模板
函式模板深入理解 編譯器從函式模板通過具體型別產生不同的函式 編譯器會對函式模板進行兩次編譯 對模板 本身進行編譯 對引數替換後的 進行編譯 注意事項 函式模板本身不允許隱式型別轉換 自動推導型別時,必須嚴格匹配 顯示型別指定時,能夠進行隱式型別轉換 程式設計實驗 函式模板本質分析 include ...
57 深入理解函式模板
深入理解 編譯器從函式模板通過具體型別產生不同的函式。編譯器會對函式模板進行兩次編譯 對模板 本身進行編譯,對引數替換後的 進行編譯。注意事項 函式模板本身不是函式,是產生函式模子,因此模板本身不允許隱式型別轉換,自動推導型別時,必須嚴格匹配。顯示型別指定時,能夠進行隱式型別轉換。include i...
57 深入理解函式模板
1 函式模板深入理解 編譯器從函式模板通過具體型別產生不同的函式 編譯器會對函式模板進行兩次編譯 1 對模板 本身進行編譯 2 對引數替換後的 進行編譯 程式1 證明編譯器會對函式模板進行兩次編譯 include include using namespace std class test temp...