目录
121. Class Template Instantiation
122. Default Type and Nontype Parameters
123. Templates and inheritance
124. When/Where to Use Template
125. Standard Template Library
121. Class Template Instantiation
类模版实例化
-
类模板实例化
1.1. 显式实例化
template class Stack<int>; // 将类模板实例化为一个处理int类型的Stack类
1.2. 隐式实例化
Stack<char> charStack; // 先实例化一个CharStack类(名字由编译器按规则生成)
// class CharStack { … char elements[100]; … };
// 然后用 CharStack charStack; 创建一个对象
Stack<int> intStack; // 实例化一个IntStack类
// class IntStack { … int elements[100]; … };
// 然后用 IntStack intStack; 创建一个对象
vector intVector{1, 2, 3}; // C++17,模板类型参数根据初始化语句自动推导
// 实例化为 vector<int>