C++中的模板

1、什么是模板?

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

2、模板定义有何规则?

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

3、函数模板怎样定义?

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

template <typename 形参名1,typename 形参名2,...>

返回类型 函数名

{

函数体

}

4、类模板怎样定义?

类模板定义的标准格式:

template <typename 形参名1,typename 形参名2,...>

class 类名

{

//...

};

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

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

7、什么是全特化?

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

8、什么是偏特化?

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

template <typename T, unsigned int N>

class Stack{ // ..};

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

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

·容器(containers)

·迭代器(iterators)

·空间分配器(allocator)

·适配器(adapters)

·算法(algorithms)

·仿函数(functors)

10、容器有何共性?

·构造函数

·析构函数

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

·交换函数:swap

·插入函数:insert

·删除函数:erase

·清空函数:clear

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值