"class template" versus "template class"
c++, standards, templates
Solution
According to this page :
Note the distinction between the terms class template and template class:
- Class template is a template used to generate template classes. You cannot declare an object of a class template.
- Template class is an instance of a class template.
This MSDN page seems to agree on this definition :
Unlike function templates, when instantiating a class template, you must explicitly instantiate the class by giving the arguments for the class templates.
[...]
The compiler generates code for a template class or function when the class or function is instantiated.
Problem
Possible Duplicate: What is the difference between a template class and a class template? I've seen several C++ gurus rip on people for calling something like ``` template <typename T> class SomeClass { //... }; ``` a template class instead of a class template. (Not a huge rip, mind you, but as an indication that someone isn't an experienced C++ programmer) Yes, the correct word is "class template" -- because it is a template used to generate classes. But I don't understand why in typical conversation the distinction matters. Nobody listening to/reading what you've written is going to understand what you're talking about to mean anything else. Is there some specific use of the words "template class" in the standard or otherwise which makes use of those words in that order grossly wrong?