今天在看某c++框架源码时,发现模板类里的部分函数可以特例化,感觉很神奇便尝试了下,发现很多平时不会注意的c++细节及知识,写下来分享给大家,以便大家遇到相似问题时可以少踩点坑。
模板类会出现链接问题,编译不通过
如果模板类.h文件和.cpp文件分开存放,然后编译的时候会提示链接错误,无法生产exe文件,具体的原因可以参看编译原理。
决解办法:1 .h文件和.cpp文件合成一个文件
2 在使用该类模板处包含.cpp文件即可.模板类部分函数特例化
template<typename T> class test
{
public:
test(){};
~test(){};
void gohome();
void gogo();
};
template<typename T> void test<T>::gogo(){