C++STL之初识容器和迭代器
提问大纲
初识STL
初识容器和迭代器
*表示这并不是一个问题,而是一些碎碎念
编译原理?预处理 编译 汇编 链接
memecpy
函数?
用C++定义数组的方法?自带的方法,动态分配内存,STL库
STL库有哪些版本?STL是开源的,不同的厂商基于此发展了泛型库,惠普HP STL,基于上述的SGI STL其中GCC编译器支持,基于上一个适配更多的编译器STLport,基于上三个PJ STL,非开源,适配vc++
gcc和g++?
*STL 容器 算法 迭代器 函数对象 适配器 内存分配器13个头文件,标准头文件不再有拓展名
GNU是什么?操作系统还有一些列的拓展,宗旨是开源代码GPL协议,旗下GCC和Linux
容器的分类?container序列容器(元素在容器中的位置与元素的值无关)如vector、list、deque/ 还有排序容器也叫关联容器(默认按照从小到大的顺序进行排序)如set、multiset、map、multimap等/ 还有哈希容器也叫关联容器C++11最新加入(容器的位置由哈希函数确定)如unordered_set 哈希集合、unordered_multiset 哈希多重集合、unordered_map 哈希映射以及 unordered_multimap 哈希多重映射
*sequence container/ associative container/ unordered associative container
迭代器是什么?介于容器和算法之间(每一种不同类型的容器都定义一种迭代器类型),便利读写容器内数据,隐藏容器内部差异,与指针类似,就可以把它看成是一种数据格式,和int是一样的
迭代器的类别?前向迭代器 forward iterator 双向迭代器 bidirectional iterator 随机访问迭代器 random access iterator 其他输入迭代器 输出迭代器暂且不讲
这三种迭代器的基本功能?
容器与迭代器的绑定关系?vector array deque 随机访问迭代器,list set map 双向迭代器,forward_list unordered_map 前向迭代器 stack queue 不支持
怎么上面说三种迭代器,下面就是四种而且都不一样?拿vector来举例子,它是random access iterator,在这个基础上面可以定义正向 常量正向 反向 常量反向
迭代器的定义方式?有些容器不能定义所有类型的迭代器 容器类名::iterator 迭代器名;
C++11的新容器?array forward_list unordered_set unordered_map
双向迭代器能干什么不能干什么?可以++和–,不能用下标随机访问元素,不能+2+3,不能比较大小
C++STL之初识容器和迭代器相关推荐
- C++ STL 三大组件(容器|算法|迭代器) 初步使用01
#include <iostream> #include <string> #include <algorithm> // 使用算法 需要引入的头文件 #inclu ...
- C++中STL和容器、迭代器、算法之间的关系
自学习C++以来,一直对STL.容器.迭代器.算法甚是困惑. 参考一些资料,加上自己的理解,整理如下 如果说程序等于数据结构+算法,STL就是一个小程序库,之所以说小,是因为容器模板中常用的函数有限, ...
- C++(STL):29 ---关联式容器map 迭代器
无论是前面学习的序列式容器,还是关联式容器,要想实现遍历操作,就必须要用到该类型容器的迭代器.当然,map 容器也不例外. C++ STL 标准库为 map 容器配备的是双向迭代器(bidirecti ...
- STL 容器和迭代器连载6_顺序容器的操作3
2019独角兽企业重金招聘Python工程师标准>>> /*- ========================================================== ...
- C++语言基础 —— STL —— 容器与迭代器
[概述] STL 是指 C++ 标准模板库,是 C++ 语言标准中的重要组成部分,其以模板类和模版函数的形式提供了各种数据结构与算法的精巧实现,如果能充分使用 STL,可以在代码空间.执行时间.编码效 ...
- STL 容器和迭代器连载8_访问顺序容器的元素
2019独角兽企业重金招聘Python工程师标准>>> /*- ========================================================== ...
- C++中STL容器利用迭代器删除元素小结
C++中STL容器利用迭代器删除元素小结 在STL容器中删除元素,容易导致迭代器失效,故应该清楚明白其用法,现在总结一下. 转载自:https://blog.csdn.net/yf_li123/art ...
- C++ [STL容器反向迭代器]
本文已收录至<C++语言和高级数据结构>专栏! 作者:ARMCSKGT STL容器反向迭代器 前言 正文 适配器 反向迭代器 反向迭代器框架 默认成员函数 反向迭代器的遍历 反向迭代器的比 ...
- STL 之 deque容器详解
Deque 容器 deque容器是C++标准模版库(STL,Standard Template Library)中的部分内容.deque容器类与vector类似,支持随机访问和快速插入删除,它在容器中 ...
最新文章
- Pandas选择一列或者多列数据
- Fedora学习总结
- 在html中2em是多少px,在css设置单位px、em、rem哪个更好?
- android qq分享自动弹出,史上最详细Android集成QQ,微信,微博分享(不要第三方)持续更新中...
- Mybatis 逆向工程 自动生成代码
- android litepal可以指定存储目录吗,Android数据库LitePal的基本用法详解
- Java代码块回调,QueueEvent - 队列化执行线程和代码块
- cm201–2刷机短接教程_Jetson TX2 刷机教程(JetPack4.2版本)
- 通过表名导出DDL语句(包含建表、索引、注释、主键)
- iOS tabbar 控制器基本使用
- Laravel 跨域问题解决
- python下载txt_Python读取TXT文件中的URL并下载文件
- 完美解决win7作为虚拟机无法复制粘贴共享文件的问题
- oracle自增序列创建
- 数字电路基础:系统设计优化
- vue项目报错in ./src/app.vue?vuetype=styleindex=0lang=less
- 口袋里的mini宝贝,西圣Ava蓝牙耳机,百元即可享受好音质耳机
- 逆转ISP,港科大陈启峰团队提出了可逆ISP
- JavaScript(第四天)—爱创课堂专业前端培训
- vrchat新手教程_VRChat简易教程2-创建一个最基本的世界(world)