C++中的模板

1、什么是模板?

模板是一种不关注输入、输出数据类型,只关注数据处理相关算法实现的编程,也称为泛编程。自定义模板是开放人员根据需要设计的模板,其模板的编码工作由开发人员完成,而标准模板是使用系统自带的标准模板库(STL),其模板的实现代码不需要自己完成,开放人员可以直接使用。

2、模板定义有何规则?

不管是函数模板还是类模板,在声明或定义时,只能在全局命名空间或类范围内进行。不能在局部范围内,不能在函数内(包括main函数)声明或定义一个模板。

3、函数模板怎样定义?

函数模板定义的标准格式:

template

返回类型 函数名

{

函数体

}

4、类模板怎样定义?

类模板定义的标准格式:

template

class 类名

{

//...

};

6、为什么模板需要特殊化处理?

模板是一个通用的样板程序,不能满足所有情况,可能存在特殊情况,使定义的模板无法得到预期的结果。

7、什么是全特化?

模板形参中没有任何参数,这样的模板特殊化称为全特化。

8、什么是偏特化?

模板的部分形式确定下来了,如:

template

class Stack{ // ..};

模板参数中N的类型是确定的,即Stack 模板的部分形参做了特殊化处理。

9、C++的内置标准模板库分为哪几种?

·容器(containers)

·迭代器(iterators)

·空间分配器(allocator)

·适配器(adapters)

·算法(algorithms)

·仿函数(functors)

10、容器有何共性?

·构造函数

·析构函数

·支持赋值运算符和比较运算符

·交换函数:swap

·插入函数:insert

·删除函数:erase

·清空函数:clear

·查看当前容器使用容量函数:size

·查看容器最大存储容量函数:size

·检查容器是否为空函数:empty

你可能感兴趣的:(C++)