首先看二者的概念:
类模板:是一个模板。一个类模板是一个含有模板的定义,用来抽象某种算法。编译器不会为类模板生成代码。
类模板强调的是模板
template<typename T>
class A
{};
这个A就是是一个模板
类模板是类的抽象,类是类模板的实例。
模板类:是一个类,在确定了模板参数后模板实例化出来的一个类。编译器为模板类生成有具体的代码。
模板类强调的是类
class A<int> 这个A<int> 就是模板类,类模板的实例
下面看看他们的关系: