C++模板, 模板的隐式和显式实例化
发布时间
阅读量:
阅读量
隐式模板实例化
在调用模版函数或定义模版类的时候,必须先创建相应的实例对象。当上述具体实例尚未被明确初始化时,编译器会自动按照标准模式生成相应的模版参数组合。
显式模板实例化
编译器专为实际使用的那些模板参数组合而隐式地生成相应的模板代码。
1、 模板函数的明确示例化
要明确示例化模板函数,请在 template 关键字之后紧跟函数声明(而非定义),并且该函数标识符随后紧跟模板参数。
template float twice<float>(float original);
在编译器可以推断出模板参数时,模板参数可以省略。
template int twice(int original);
2、 模板类的显式实例化
为了明确构造模板类的实例,请在 template 关键字后的类声明处,并在其标识符后紧跟模板参数进行操作。
template class Array<char>;
template class String<19>;
显式实例化类时,所有的类成员也必须实例化。
3、 模板类函数成员的显式实例化
应在 template 关键字后面紧跟函数声明,并在其功能标
全部评论 (0)
还没有任何评论哟~
