2016/11/4

来源:互联网 发布:mac ppt使用教程 编辑:程序博客网 时间:2024/06/05 20:21
1631-5 黄加勉 <2016.11.4> 【连续第34天总结】


A.今日任务
1.类模板(100%)
2.矢量vector(100%)
3.链表list(100%)
4.映射map(100%)


B.具体内容
1.类模板与函数模板类似,需要传入变量类型。在类内定义函数时不需要额外注意,
 当在类外定义时,需要在,每个函数前加上模板类型的申明


也就是:
tmeplate<typename T>
void functionname()
{
//do
}


2.STL即标准模板库。vector为矢量模板,类似于数组,但是不像数组一样要定义数组长度,可以随意增加长度
 vector包含有size,push_back,begin,end等函数


在使用前要先定义vector:


//定义int型的向量
vector<int> ivect;
ivect.push_back(1);  //向向量中第一个位置插入1
ivect.push_back(2);  //向向量中第二个位置插入2
cout<<ivect.front();  //打印第一个元素
cout<<ivect.back();  //打印最后一个元素


3.链表list由数据部分与指针部分组成,链表每一个节点通过指针相连,当向链表中插入元素事,只需要改变它和两侧指针指向即可
4.映射map由键key和值value组成,key的类型为自定义:


map<int,string> m;  


 当向映射表中插入映射时需要先用pair定义一组映射:


pair<int,string> p(1,"value1");


再将其插入insert映射表中:


m.insert(p);


5.vector可以用索引和迭代器的方式引用,而list只能用迭代器遍历,迭代器适用于所有的stl
 用迭代器遍历vector事需要定义迭代器,关键字iterator:


  vector<int>::iterator iter = ivec.begin();
for(;iter != iver.end();iter++)
{
cout<<*iter<<endl;  //迭代子需要用指针的形式返回值
}
其它模板使用迭代器方法类似
C.明日任务
1.贪吃蛇程序
2.复习复习复习
0 0
原创粉丝点击