C++模板 学习要点
1. 类模板
a. 方法模板
主要用于实现拷贝构造函数和赋值运算符
b. 选择性实例化
c. 类模板特化
实际上是编写模板类的例外情况, 如TClass<typename T >, 定义了一个模板类, 但是这个当T是char*时, 该模板类的定义的行为可能没有意义, 这时候需要针对当T是char*时的情况编写特化类模板。特化的目的是为用户提供统一的名字。 当用户创建TClass<int>时, 编译器用原来的模板类实例化, 当用户创建TClass<char*> 时, 编译器用特化模板TClass<char*> 实例化, 这些对用户是透明的。
全特化:
偏特化:
2.函数模板
1. 类模板
a. 方法模板
主要用于实现拷贝构造函数和赋值运算符
b. 选择性实例化
c. 类模板特化
实际上是编写模板类的例外情况, 如TClass<typename T >, 定义了一个模板类, 但是这个当T是char*时, 该模板类的定义的行为可能没有意义, 这时候需要针对当T是char*时的情况编写特化类模板。特化的目的是为用户提供统一的名字。 当用户创建TClass<int>时, 编译器用原来的模板类实例化, 当用户创建TClass<char*> 时, 编译器用特化模板TClass<char*> 实例化, 这些对用户是透明的。
全特化:
偏特化:
2.函数模板
本文探讨了C++模板的基础概念及其应用,包括类模板的方法模板、选择性实例化及特化等内容。此外,还详细介绍了类模板特化的两种形式:全特化和偏特化。同时,文中也涉及到了函数模板的相关知识点。
1327

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



