c++ primer 类模板一些杂记。总是会忘掉,可能比较简单 以及控制实例化的一些笔记

c++ 一些模板总结和反思

template.h


template <typename T>class Test{
public:
    T testFunction();
    template <typename D>
    void printD(D data);
};
template <typename T>
template <typename It>
void Test<T>::printD(It data) {

}

template.cpp

#include "template.h"

template <typename T>
T Test<T>::testFunction() {

}


//explicit instantation
template class Test<int>;

注意类模板内的成员模板则必须要在一个文件中,如果定义的是成员函数则不必

再就是c++ 的一个控制实例化问题

比如说类模板的显示实例化

 template class Test<int>;

就是在编译器就已经实例化了,如果我们告诉编译器已经在别的位置被显示实例化了,可以使用extern

extern template class Test<int>;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章