2013-06-25 13 views

回答

13

不,不會爲永遠不會實例化的函數模板生成代碼。另外,不會爲永遠不會調用的類模板的非模板成員函數生成代碼。

特別是,可執行文件的大小不會更大,也不會發生任何運行時間開銷。

+0

(除非您明確實例化類模板) – aschepler

4

不,它不。

模板類和函數不是實際的類或函數:它們只是編譯器指示如何生成某些類和類的函數。當您引用模板時,編譯器會使用該模板來計算如何生成源代碼,並編譯生成的代碼,每次對模板的不同參數化進行一次編譯。

使用模板的唯一開銷是編譯時間稍微多一點,對於20世紀80年代以後任何時候建立的任何計算機都沒有什麼大不了的。

+0

好的,謝謝,這是有道理的 – Iowa15

相關問題