C++模板之函数模板实例化和具体化 |
您所在的位置:网站首页 › 函数模板与模板函数的区别 › C++模板之函数模板实例化和具体化 |
template void swap(int, int);
注意:试图在同一个文件(或转换单元)中使用同一种类型的显示实例化和显示具体化声明,会出错。 推荐:可以用在函数调用时,直接显示实例化,而不使用显示实例化声明。 如: template T add(T x,T y) { return x+y; } int main() { int i1=2,i2=3; add(i1,i2); template int add(i1,i2);//尽量用上面一行的写法代替本行 return 0; }
模范代码: ///********************************************** /// @file templetAdd.cc /// @author alex([email protected]) /// @date 2018-06-19 21:42:20 ///**********************************************/ #include #include using std::cout; using std::endl; //模板-->类型参数化-->代码生成器 // 实例化(模板参数推导) //函数模板 --> 模板函数 //< > 模板参数列表 //1、使用class 或者typename设置类型参数 //2、非类型参数、常量表达式(整型数据) template T add(T x,T y) { return x + y; } #if 0 template int add(int x,int y)// { cout |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |