参考资料
- 《Programming -- Principles and Practice Using C++ (3rd Edition)》—— Bjarne Stroustrup
C++ 泛型编程里,为什么都用 typename T,而不是 class T?
Instead of writing template<typename T>, you can write template<class T>. The two constructs mean exactly the same thing, but some prefer typename ‘‘because it is clearer’’ and ‘‘because nobody gets confused by typename thinking that you can’t use a built-in type, such as int, as a template argument.’’ We are of the opinion that class already means type, so it makes no difference. Also, class is shorter.