c++顺序容器定义和初始化
来源:互联网 发布:网络电视盒子怎么用 编辑:程序博客网 时间:2024/06/13 01:05
一、顺序容器的定义
容器是容纳特定类型对象的集合。这种容器根据位置来存储和访问元素。就是顺序容器
二、容器适配器
根据原始的容器类型所提供的操作,通过定义新的操作接口,来适应基础的容器类型
四、容器的定义
所有的容器都是类模板,要定义一种特殊的容器,必须实例化
1、将一个容器初始化给另一个容器的副本
要求:容器类型和元素类型必须相同
2、初始化一段元素的副本
系统允许通过传递一对迭代器间接实现将一种容器内的元素赋值给另一种容器
不要求类型相同和大小相同
3、分配和初始化指定书目的元素
创建容器时,可以显式指定容器的大小和一个可选的初始值
4、不提供元素初始值时,标准库将为该容器实现值初始化。但这种初始化有限制,元素的类型必须是内置或复合类型,或者提供了默认构造函数的类类型。如果没有默认构造函数,必须显式的指定其元素初始化值
5、只有顺序容器接受容器大小做形参的构造函数
6、c++语言容器的元素类型
必须支持赋值运算
元素类型的对象必须可以复制
7、容器的容器
容器是容纳特定类型对象的集合。这种容器根据位置来存储和访问元素。就是顺序容器
二、容器适配器
根据原始的容器类型所提供的操作,通过定义新的操作接口,来适应基础的容器类型
三、顺序容器的类型和容器适配器
顺序容器
容器适配器
vector
支持快速随机访问
stack
后进先出(LIFO)
list
支持快速插入/删除
queue
先进先出(FIFO)
deque
双端队列
priority_queue
有优先级管理的队列
四、容器的定义
所有的容器都是类模板,要定义一种特殊的容器,必须实例化
vector<string> vs; list<int> li; deque<float> df;五、容器的构造函数
C<T> c;
创建一个名为c的空容器。C是容器类型名,如vector,T是元素类型,如int或string适用于所有容器
C c(c2);
创建容器c2的副本c;c和c2必须具有相同的容器类型,并存放相同类型的元素。适用于所有容器。
C c(b,e);
创建c,其元素是迭代器b和e标示的范围内元素的副本。
适用于所有容器
C c(n, t);
用n个值为t的元素创建容器c,其中值t必须是容器类型C的元素类型的值,或者是可转换为该类型的值。
只适用于顺序容器
C c(n);
创建有n个值初始化元素的容器c
只适用于顺序容器
注意事项:1、将一个容器初始化给另一个容器的副本
要求:容器类型和元素类型必须相同
2、初始化一段元素的副本
系统允许通过传递一对迭代器间接实现将一种容器内的元素赋值给另一种容器
不要求类型相同和大小相同
vector<string> vs; list<int> li; deque<float> df; list<string> tls(vs.begin(),vs.end()); deque<float>::iterator mid = df.begin()+df.size()/2; list<string> lst(mid,df.end());
3、分配和初始化指定书目的元素
创建容器时,可以显式指定容器的大小和一个可选的初始值
const list<int>::size_type list_size = 100;list<string> slist(list_size,"hhh");
4、不提供元素初始值时,标准库将为该容器实现值初始化。但这种初始化有限制,元素的类型必须是内置或复合类型,或者提供了默认构造函数的类类型。如果没有默认构造函数,必须显式的指定其元素初始化值
5、只有顺序容器接受容器大小做形参的构造函数
6、c++语言容器的元素类型
必须支持赋值运算
元素类型的对象必须可以复制
7、容器的容器
vector<vector<int>> lines;六、迭代器的运算
所有标准库都提供的迭代器运算
*iter
返回迭代器iter所指向的元素的引用
iter-> mem
对iter进行解引用,获取指定元素中名为mem的成员。等效于(*iter).mem
++iter/iter++
给iter加1,使其指向容器里的下一个元素
--iter/iter--
给iter减1,使其指向容器里的前一个元素
iter1== iter2
iter1!= iter2
比较两个迭代器是否相等(或不等)。当两个迭代器指向同一个iter2容器中的同一个元素,或者当它们都指向同一个容器的超出末端iter1!=的下一位置时,两个迭代器相等.
0 0
- c++顺序容器定义和初始化
- C++顺序容器:头文件,定义和初始化
- STL 容器和迭代器连载3_顺序容器初始化
- STL 容器和迭代器连载3_顺序容器初始化
- 顺序容器:初始化
- vector顺序容器初始化
- C语言版数据结构中顺序表的基本操作定义和初始化
- 顺序容器的定义
- 顺序容器的定义
- 顺序容器的定义
- 静态vector容器成员变量的定义和初始化
- C-030.指针的定义和初始化
- C++(定义和初始化string对象)
- 9.1 顺序容器的初始化
- 顺序容器的简单初始化
- 9.1顺序容器的定义
- 顺序容器的定义、迭代器
- C++ 顺序容器的定义
- FaceBook推出的Android图片加载库Fresco
- oracle中常用的查询方法
- win 下杀端口
- 匹配
- C语言要这样学才能学好
- c++顺序容器定义和初始化
- Hive语言的使用,以及性能优化
- SMTP协议简介
- ubuntu12.04安装出现系统内部错误
- 二分图最大匹配 匈牙利算法
- 第六周 项目四-成员函数、友元函数和一般函数有区别 一般函数
- 设计模式(Design Patterns)
- 爱学园
- 开源中国的 IT 公司开源软件整理计划介绍