标准模板库(STL) 的核心内容是3个基本组件: 容器,算法,迭代器.
容器是用来保存其他对象的对象.
- STL 中定义了几种不同类型的容器. ( 如 vector 类定义了动态数组, list 定义了线性表。 map 关联容器(关键字和值))
每个容器类中定义了可以用于该容器的一系列算法. 算法作用于容器中的元素。 (初始化,排序,查找,修改等)
迭代器是一种类似于指针的对象。可以用迭代器来遍历容器中的元素。 STL 中定义了5中类型的迭代器:
Iterator |
Access Allowed |
Input |
Retrieve, but not store values. Forward moving only. |
Output |
Store, but not retrieve values. Forward moving only. |
Forward |
Store and retrieve(获取) values. Forward moving only. |
Bidirectional |
Store and retrieve values. Forward and backward moving. |
Random Access |
Store and retrieve values. Elements may be accessed randomly. |
容器类
1. vector 类用来支持动态数组.
//使用迭代器来访问vector对象中的元素.
vector<char>::iterator p=v.begin();
while(p!=v.end()){
cout<<*p<<" ";
p++;
}
//插入, 将10个字符X插入到对象v中.
v.insert(p,10,'X');
//删除
p=v.begin();
p+=2;
v.erase(p,p+10); //删除10个元素.
2. list 类定义双向的线性表.
3. map类定义了一个关联容器,并且在容器中使用唯一的关键字来映射相应的值。定义了一个关联容器,并且在容器中使用唯一的关键字来映射相应的值。
分享到:
相关推荐
迭代器Iterator.txt 迭代器Iterator.txt迭代器Iterator.txt
迭代器与枚举有两点不同:1. 迭代器允许调用者利用定义良好的语义在迭代期间,从迭代器所指向的 collection 移除元素2. 优化方法名其接口定义如下:Ob
vector容器与iterator迭代器,有两者的区别和联系,供大家学习理解
java中Iterator迭代器讲解,基础数据对象。
迭代器iterator可以很方便的遍历所有元素。Mat类支持迭代器的方式对矩阵元素进行遍历。由于使用迭代器就不需要再使用行列数进行操作。
该文档是演示迭代器Iterator的使用方法和源代码,其中包括了Iterator的继承类的讲解和再Iterator中的两种方法
iterator-tasks, 迭代器任务是基于迭代器类库的迭代器 迭代器任务迭代器任务是基于迭代器类库的迭代器。在Unity上的异步操作迭代器任务的一个目的是简化 Unity 3D 游戏引擎上的异步操作。 ,是基于单源开发框架开发...
流到异步迭代器概述stream-to-async-iterator提供了一个实现Symbol.asyncIterator的包装器。 这将使流可用作异步可迭代变量,可以在for-await-of循环中使用。 支持node.js 4及更高版本。安装 $ npm install stream-...
计算机后端-Java-Java核心基础-第24章 集合01 09. 迭代器Iterator的执行原理.avi
迭代器提供对一个容器中的对象的访问方法,并且定义了容器中对象的范围。迭代器就如同一个指针。事实上,C++的指针也是一种迭代器。但是,迭代器不仅仅是指针,因此你不能认为他们一定具有地址值。例如,一个数组...
遍历方法各有长短,若不是多表联接查询、显示表格的列数已经固定,一般用实体类(UserEntity)迭代的方式。相反,显示的数据表格行和列不确定,此时用实体类(UserEntity)迭代的方式很难实现,只能用List或List...
一个Iterator的实例1---马克-to-win java视频迭代器的详细描述
c++ 的array源码分析和reverse-iterator和-Array-const-iterator类
java Iterator迭代器的使用 java Iterator迭代器的使用 java Iterator迭代器的使用
主要介绍了Python迭代器iterator生成器generator使用解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
迭代器模式(Iterator Pattern)是设计模式中的一种行为模式,它允许顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。迭代器模式提供了一种方法,可以顺序地访问一个聚合对象中的各个元素,而又...
Laravel开发-multi-level-array-iterator 提供了一种在任意深度的嵌套数组之间循环的方法
C#面向对象设计模式 (行为型模式) Iterator 迭代器模式 视频讲座下载
cpp-soa-迭代器尝试使用 c++ struct-of-array 迭代器。动机数组结构数据模式通常用于 CUDA 代码以允许合并内存访问。 C++ STL 中的vector容器和thrust device_vector容器可以很容易地用于实现结构数组数据模式。 ...
iterator-demo 迭代器设计模式demo