(1)隐式实例化对象
隐式实例化就像我们用类名实例化对象一样,唯一不同的是需要在类模板后面指定该对象所需的类型参数,跟函数调用类似。
例:Pair<string, string> ii;
(2)显示实例化对象
当使用关键字template并指出所需类型来声明类时,编译器将生成类声明的显式实例化。声明必须位于模板定义所在的名称空间中。例:template class Pair<string, char>;
用于caffe--blob.cpp里
INSTANTIATE_CLASS(Blob);
#define INSTANTIATE_CLASS(classname) \
char gInstantiationGuard##classname; \
template class classname<float>; \
template class classname<double>