C++模板:深入解析参数与参数实例化
1. 模板基础
在C++中,模板是一种强大的工具,可实现代码的泛型编程。不过,需要注意的是,模板不能在函数内部声明。例如:
template <typename T>
static void internal();
这里的 internal 模板与其他文件中同名的模板并无关联。
1.1 主模板
普通的模板声明所声明的是所谓的主模板。主模板声明时,模板名称后面不会添加尖括号内的模板参数。示例如下:
template<typename T> class Box; // OK: 主模板
template<typename T> class Box<T>; // ERROR
template<typename T> void translate(T*); // OK: 主模板
template<typename T> void translate<T>(T*); // ERROR
非主类模板通常在声明部分特化时出现,而函数模板通常必须是主模板。
2. 模板参数
模板参数主要分为以下三种:
1. 类型参数 :最为常见。
2. 非类型参数 :代表在编译或链接时可确定的常量值。
超级会员免费看
订阅专栏 解锁全文
610

被折叠的 条评论
为什么被折叠?



