60、C++模板是什么,你知道底層怎么實現的?


1) 編譯器並不是把函數模板處理成能夠處理任意類的函數;編譯器從函數模板通過具體類型產生不同 的函數;編譯器會對函數模板進行兩次編譯:在聲明的地方對模板代碼本身進行編譯,在調用的地方對 參數替換后的代碼進行編譯。

2) 這是因為函數模板要被實例化后才能成為真正的函數,在使用函數模板的源文件中包含函數模板的 頭文件,如果該頭文件中只有聲明,沒有定義,那編譯器無法實例化該模板,最終導致鏈接錯誤。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM