1. 程式人生 > >深入理解函數模板

深入理解函數模板

普通 函數模板 實參 第一次 編譯 指定 支持 進行 部分

1.編譯器會對函數模板進行兩次編譯。第一次編譯檢查函數模板的語法是否有錯誤。第二次是產生具體函數之後進行編譯檢查。
函數模板支持自動類型推導也可以顯式指定類型。
2.函數模板無法自動推導返回值類型,必須顯式指定。可以從左到右部分指定類型參數。
工程中一般將返回值參數作為第一個類型參數。
3.函數模板可以重載為普通函數。當程序中同時出現函數模板和普通函數,如果兩者都能匹配,那麽優先使用普通函數,若是函數模板能夠更好的匹配,那麽使用函數模板。當然,可以通過空模板實參列表顯式指明使用函數模板。

深入理解函數模板