引言:
知识之间存在着必然的联系,善于发现和总结。
概述:
类模板可以看作为一个特殊的类;向量可以看作为一种数据类型,类似于数组。下面简单介绍相关内容。
内容:
一 类模板
1 基础知识
(1)声明:template <类模板参数> class 类名{//类体}
(2)定义对象:类名 <模板实例化参数类型> 对象名(构造函数实参列表);
类名 <模板实例化参数类型> 对象名;
(3)类外定义成员函数,用template重写类模板声明:
template <模板参数>
返回类型 类名 <模板类型参数> :: 成员函数名(函数参数列表){//函数体}
2 派生和继承
(1)模板类继承非模板类
(2)类模板派生一个类模板
二 向量
1 定义
(1)一维数组的类版本:与数组类似,元素项连续存储,不同在于存储的元素的多少可以在运行中根据需要动态地增长或缩小。
(2)类模板,具有成员函数。
2 定义向量列表
(1)vector <type> name; //定义type的向量空表
(2)vector <type> name(length); //定义具有length个type的向量,元素初始化为0
(3)vector <type> name(length,a); //定义具有length个type的向量,元素初始化为a
(4)vector <type> name1(name); //使用已定义的向量name构造向量name1
3 泛型指针
(1)泛型算法:与操作对象的数据类型相互独立的算法。
(2)用iterator声明向量的正向泛型指针:vector <type> :: iterator 泛型指针名;
逆向泛型指针:vector <type> :: reverse_iterator 指针名;
4 向量数据类型
基本数据类型、构造类型、
复数类、结构体
5 基本的操作方法
(1)访问向量容量信息
1)size():返回当前向量中已经存放的对象的个数
2)max_size():返回向量可以容纳最多对象的个数,一般是操作系统的寻址空间所能容纳的对象的个数,不由用户指定,取决于硬件结构。
3)capacity():返回无需再次分配内存就能容纳的对象个数
4)empty():当前向量为空时,返回true值
(2)访问向量对象
1)front():返回向量中的第一个对象
2)back():返回向量中的最后一个对象
3)operator[](size_type,n):返回向量中的第n+1个对象(下标为n的向量元素)。
总结:
先简单总结,以后用到再详细理解其原理与使用方式。