C++template中typename 和class有什么区别

2025-04-04 17:30:32
推荐回答(1个)
回答1:

实际上可以说没有区别。
按 C++ 标准来说,template 用于基础数据类型,typename 指类型名,T 可以取 char int double 等。
template 用于类,T 可以取任何类。
但是这里有一个问题,结构体应该用 typename 还是 class? 结构体肯定不是基础数据类型,但也不是类。
所以实际情况是,template 的 T 也可以取基础数据类型,tempate 的 T 也可以取类。