c++模板函数的声明和定义该在什么文件里?
生活随笔
收集整理的這篇文章主要介紹了
c++模板函数的声明和定义该在什么文件里?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最近在寫模板函數的時候,發現了一個問題。
按照江湖規矩我們的聲明一般放在.h文件,定義放在.cpp文件。
而在寫模板函數的時候,套用江湖規矩會出錯。
解決方法:將模板函數的聲明和定義都放在.h文件中。(不講武德)
粗淺分析:我們不將普通函數的定義放在.h文件中,就是怕在多個.cpp文件都用到該.h文件,造成多重定義。而對于模板,在實例化模板之前,編譯器對模板的定義體是不處理的。所以就沒有了會出現多重定義的顧慮。而在進行實例化模板函數,要求編譯器在實例化模板時必須在上下文中可以查看到其定義實體。
參考文章:http://www.cppblog.com/kenny/archive/2011/04/23/144841.html
總結
以上是生活随笔為你收集整理的c++模板函数的声明和定义该在什么文件里?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 框架的优缺点(TP CI)
- 下一篇: [Unity 代码写法整理]嵌套判断问题