目录

  • 一、学习的知识点
    • 标准模板库
      • Container容器
        • vector向量
        • deque双端队列
        • list链表
      • 迭代器
  • 二、上课没有听懂或者没有理解的地方
  • 三、当天学习的收获
  • 四、作业的思路、不会的地方
  • 五、其他需要反馈的问题

一、学习的知识点

标准模板库

包含容器、算法、迭代器、函数对象、分配器、适配器

Container容器

各种数据结构,容器类是容纳、包含一组元素或元素集合的对象

  1. 同类容器、异类容器
  2. 顺序容器、关联容器
  3. 有序、便于管理
  4. 所有的容器都继承容器类

vector向量

  1. 数组名是地址,长度是固定的,地址在内存中是连续的;保存同类型的数据;访问:下标访问、地址偏移
  2. 向量:顺序容器,地址连续,用于容纳不定长的线性序列,动态改变大小;访问:下标访问(veclist[0])、迭代器(操作容器的指针)
  3. 相当于类模板
#include<vector>
int main()
{vector<int> veclist;//会走构造//vector<int> veclist(2,100,100);//长度是2,内容是100vector<int>::iterator it;//迭代器是属于容器的,容器是什么类型,迭代器就是什么类型veclist.size();//返回向量元素的个数veclist.push_back(1);//在尾巴处插入数据veclist.insert(veclist.begin(),4);//在向量头插入数据4veclist.erase(veclist.begin()+2,veclist.begin()+4);//根据迭代器位置删除某个,根据迭代器范围删除一片veclist.clear();//删除所有veclist.pop_back();//删除最后一个元素//访问it=veclist.begin();*it;it++;
}

deque双端队列

和向量没多少区别,可以从两端入队或者出队

#include<deque>deque<Cstaff *> deq;//deque 队列
deque<Cstaff *>::iterator deit;//迭代器
Cstaff *st1=new Cstaff(1001,"admin","123456");
Cstaff *st2=new Cstaff(1002,"admin","123456");
deq.push_back(st1);//插入

list链表

  1. 地址不连续,不能通过下标访问
  2. 存放双向链表
  3. 拼接
#include<list>list<Cstaff> stafflist;
list<Cstaff> stafflist_tmp;
list<Cstaff>::iterator liit;//迭代器
stafflist.push_back(Cstaff(1001,"admin","123456",1));//插入
stafflist.push_back(Cstaff(1002,"admin","123456",1));
for(liit=stafflist.begin();liit!=stafflist.end();++liit)
{cout<<(*liit).getID()<<endl;
}stafflist.splice(stafflist.end(),stafflist_tmp);//两条链表拼接

迭代器

迭代器是面向对象版本的指针,提供了访问容器、序列中每个元素的方法

二、上课没有听懂或者没有理解的地方

三、当天学习的收获

学习了容器,可以使用许多已经封装好的工具

四、作业的思路、不会的地方

未开始

五、其他需要反馈的问题

200919阶段一C++STL容器相关推荐

  1. C++ 笔记(19)— 标准模板库(STL容器、STL迭代器、STL算法、STL容器特点、STL字符串类)

    C++ 标准库可以分为两部分: 标准函数库: 这个库是由通用的.独立的.不属于任何类的函数组成的.函数库继承自 C 语言. 面向对象类库: 这个库是类及其相关函数的集合. C++ 标准库包含了所有的 ...

  2. C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(Windows VirtualStudio)——遍历和删除

    相关环境和说明在<C++拾趣--STL容器的插入.删除.遍历和查找操作性能对比(Windows VirtualStudio)--插入>已给出.本文将分析各个容器中遍历和查找的性能.(转载请 ...

  3. C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(Windows VirtualStudio)——删除

    相关环境和说明在<C++拾趣--STL容器的插入.删除.遍历和查找操作性能对比(Windows VirtualStudio)--插入>已给出.本文将分析从头部.中间和尾部对各个容器进行删除 ...

  4. C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(ubuntu g++)——遍历和查找

    相关环境和说明在<C++拾趣--STL容器的插入.删除.遍历和查找操作性能对比(ubuntu g++)--插入>已给出.本文将分析各个容器中遍历和查找的性能.(转载请指明出于breakso ...

  5. C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(ubuntu g++)——删除

    相关环境和说明在<C++拾趣--STL容器的插入.删除.遍历和查找操作性能对比(ubuntu g++)--插入>已给出.本文将分析从头部.中间和尾部对各个容器进行删除的性能.(转载请指明出 ...

  6. STL容器存储的内容动态分配情况下的内存管理

    主要分两种情况:存储的内容是指针:存储的内容是实际对象. 看以下两段代码, typedef pair<VirObjTYPE, std::list<CheckID>*> VirO ...

  7. STL容器是否是线程安全的

    转载http://blog.csdn.net/zdl1016/article/details/5941330 STL的线程安全. 说一些关于stl容器的线程安全相关的话题. 一般说来,stl对于多线程 ...

  8. gdb 查看 stl容器 zz

    将下面文件作为 ~/.gdbinit的内容, 或者在已有的~/.gdbinit中source下面的文件, 然后可以以下列方式查看stl容器的数据:  容器类型 GDB 命令 std::vector&l ...

  9. 标准非STL容器 : bitset

    1. 概念 什么是"标准非STL容器"?标准非STL容器是指"可以认为它们是容器,但是他们并不满足STL容器的所有要求".前文提到的容器适配器stack.que ...

最新文章

  1. Guava学习笔记:缘起
  2. 利用废弃建筑建设数据中心
  3. 《Python 学习手册4th》 第四章 介绍Python对象类型
  4. 如何构建Android MVVM 应用框架
  5. 扫描器scanner的源代码
  6. angluar cdk_零分钟即可在容器开发套件(CDK)上实现云运营
  7. ns3 入门案例2:third.cc
  8. 【powerdesign】从mysql数据库导出到powerdesign,生成数据字典
  9. 一张图理解JS的原型(prototype、_proto_、constructor的三角关系)
  10. php xingnengfenxi_php代码性能分析方法
  11. js获取本地文件夹和文件 .
  12. ClickHouse在字节跳动推荐和广告业务部门的最佳实践
  13. 关于“抵制”易语言的通告
  14. Android学习笔记---常用技巧(图片的旋转)
  15. 计算机维修工具大全,电脑硬件维修测试工具大全(附送各类PC检修资源)
  16. 谈宏晶STC单片机的ISP功能 (芯片保密性)转
  17. 家里两台电脑怎么共享文件_家里有两个电脑~怎么连局域网和文件共享
  18. 《租车管理系统 ——“订单管理(代驾)”模块》项目研发阶段性总结
  19. Nginx设置图片防盗链(白名单与黑名单)
  20. JavaScript下雨效果

热门文章

  1. 最短编辑距离问题理解
  2. 转:AMS之dumpsys篇
  3. Kubernetes(六) - Secret和私有仓库认证
  4. Android开发经验实战总结
  5. Java Script 第十节课 Java Script的for循环练习。
  6. 【百度地图API】暑假放假回老家——城市切换功能
  7. Git最最常用的命令
  8. Windows2008+sqlserver2008集群安装(图文并貌)
  9. 总结一下ASP.NET MVC 网站的部署问题
  10. FineReport连接mysql8.0.16