Jul*_*ano 10
当使用这两个术语时,存在非常微妙的差异.它比语义更具语言性,它取决于您正在修改的单词.
简而言之,类模板是一种特殊的模板.模板可以定义类或函数.类模板是定义类的模板.看到不同:
template <typename T> class SomeClass {...}; // this is a class template
template <typename T> int some_function(T&) {...} // this is a function template
Run Code Online (Sandbox Code Playgroud)
一个模板类是一种特殊的类.类有很多种,特别是模板类是使用类模板定义的类.对比:
SomeClass sc; // SomeClass is an ordinary (non-template) class
SomeClass<int> sc; // SomeClass<int> is a template class
Run Code Online (Sandbox Code Playgroud)
template class - 按类型,值或模板参数化的类.必须在使用模板类的地方提供标识要为类模板生成的类所必需的模板参数.例如,"
vector<int> v;"从矢量模板生成一个int矢量.另见模板.TC++ PL 13.2,D&E 15.3.
两种表达式都用于Stroustrup的书"C++编程语言"和ISO/IEC C++标准,直到1998年.
注意:正如下面的评论中所讨论的,似乎C++ 03不再使用术语"模板类"(尽管我没有它的副本),可能是为了减少混淆.正如我之前所说,它们基本上是相同的,它只是语言上的差异:在模板上下文中,您引用特定类型的模板,或者在类上下文中引用特定类的类.如果你只是坚持"课堂模板",你就不会失去任何东西.
更多的思考:
| 归档时间: |
|
| 查看次数: |
4177 次 |
| 最近记录: |