本文共 839 字,大约阅读时间需要 2 分钟。
本章介绍模板的术语,关于模板,我说通常理解的是“类模板”还是“模板类”呢?这两个含义是有区别的,
在C++中,类和联合(union)都被称为类类型(class type)。如果不加额外的限定,我们通常所说的"类(class)"是指: 用关键字class或者struct引入的类类型(class type)。需要特别注意的一点就是:类类型(class type)包括联合(union),而“类(class)”不包括联合(union)。 关于如何称呼具备模板特性的类,现今还存在一些混淆: 术语类模板(class template)说明的是:该类是一个模板:它代表的是:整个类家族的参数化描述。 另一方在,模板类(template class)通常被用于下在几个方面: (1)作为类模板的同义词。 (2)从模板产生的类。 (3)具有一个template-id名称的类 其中,第2个含义和第3个含义的区别是很细微的,而且对于本书的其余部分,它们的区别也无关紧要。通常我们使用类模版,函数模板和成员函数划板这些称呼。
7.2实例化和特化
模板实例化是一个通过使用具体值替换模板实能,从模板产生出普通类、函数或者成员函数的过程。这个过程最后获得的实体(譬如类、函数或者成员函数)就是我们通常所说的特化(specialization)。7.3声明和定义
声明是一种C++构造(construct),它引入(或重新引入)一个名称到某个C++作用域(scope)中。而且,这种引入通常都包含对所引入名称的一个局部分类(partial classification)。但是,有效的声明并不要求包含被引入对象的细节。7.4一处定义原则
“C++语言的定义”在各种实体的重新声明上面强加了一些约束,一处定义原则(或称为ODR,one-definition rule)就是这些约束的全体。这一原则的细节是相当复杂的。并且在不同的条件下变化也很大,因此我们将在后面章节详细讨论每种应用环境下面使用。转载地址:http://ifiub.baihongyu.com/