1.类模板
类型T并不是类,而是对类的描述,常称之为类模板
2.类模板声明的一般方法如下:
template<类模板参数>class 类名{//类体}
在类体外面定义成员函数时,必须用template重写类模板声明。格式如下:
template<模板参数>(这里的模板参数通常可指:class T)
返回类型 类名<模板类型参数> ::成员函数名(函数参数列表){//函数体}
3.类模板的派生与继承
声明模板继承之前,必须重新声明类模板
模板类的基类和派生类都可以是模板(或非模板)类
4.向量
向量中存储元素的多少可以在运行时根据需要动态的增长或缩小
向量是类模板,具有成员函数
用size()方法动态地获得vector对象当前存储元素的数量
定义向量:
vector<type> name;//定义type的向量空表
vector<type> name(length);//定义具有length个type的向量,元素初始化为0
vector<type> name(length,a);//定义具有length个type的向量,元素初始化为a
vector<type> name1(name);//使用已定义的向量name构造向量name1
5.泛型指针
与操作对象的数据类型相互独立的算法称为泛型算法
向量具有指示第一元素的标记begin和指示结束的标记end;如果begin不等于end,算法便会首先作用于begin所指元素,并将begin前进一个位置,然后作用于当前begin所指的元素,如此继续前行,直到begin等于end为止,元素存在范围是半开区间[begin,end)
6.向量最基本的操作方法
size():返回当前向量中已经存放的对象的个数
max_size():返回向量可以容纳最多对象的个数,一般是操作系统的寻址空间所能容纳的对象个数,取决于硬件结构
capacity():返回无需再次分配内存就能容纳的对象个数
empty():当前向量为空时,返回true值
front():返回向量中的第一个对象
back():返回向量中的最后一个对象
operator[](size_type,n):返回向量中第n+1个对象(下标为n的向量元素)