标准库vector类型
来源:互联网 发布:数组冒泡排序php 编辑:程序博客网 时间:2024/06/09 15:54
1. vector是一个模版类 (class template) 不是一种数据类型,它是连续的内存区域,随机访问(下标),向中间插入效率很低,都要移动数据。
2. vector 如果保存的类型本身没有默认构造函数则调用,( 编写程序是 不需要再构造函数里初始化)。
3. vector对象的动态增长,在运行时高效的添加元素,这种增长不同于c语言的内置数据类型
4. const 迭代器 和 const_iterator区别
const_iterator 可以用于 const vector 或者非const vector不能改写元素值。vector里面的值是不可以改变的 原来指向的元素*iter = a ;改成*iter = b;//error
const 迭代器 只能改写其指向的元素不能指向其他的元素 可以改变值 但是不可以改变指向。const vector<int>::iterator 。。一般来说这样的迭代器是没用的
5. vector<int>::iterator mid = vi.begin() + vi.size()/2;
直接定位vi的最靠近正中间的位置
6. 用下标访问的时候要小心访问不存在的元素。可能会导致程序的崩溃。
7. vi.end() 返回一个不存在的元素,表示最后一个元素的下一个。
8. 迭代器的算术操作
9. vector是一个顺序容器。元素是以连续的方式存储放,每个元素都紧挨着前一个元素,但是当我们添加一个新的元素时,不能在空间随便的找个空间存储,所以就要从新分配,性能很慢。而对于list容器因为不是顺序存储的就不存在这个问题,但是其访问的速度弥补了这个特性。他可以通过位置访问。
10. vector支持 = 赋值操作。
v1.swap(v2) 交换v1 和 v2 的内容,
v1.assisgn(b,e)重新设置元素
11. vector 中的成员函数 1. v.reserve(50) (预留空间的大小,更改的是capactity的值)2. v.size()(表示容器实际的大小)3.v.capacity(容量,总是比size的大一些)
12. vector的函数
assign
清除向量并复制指定的元素设置为空的矢量。
at
返回对该元素在命名个矢量的指定位置。
back
返回对这个矢量的最后一个元素。
begin
返回一个随机访问迭代器到个矢量的第一个元素。
capacity
返回一个矢量可以包含,而无需分配更多存储元素的数目。
cbegin
返回一个随机访问迭代器的常量到个矢量的第一个元素。
cend
这将返回向量之外的末尾点的一个随机访问迭代器的常量。
crbegin
返回 const 迭代器到一个反转的向量的第一个元素。
crend
返回 const 迭代器到一个反转的矢量的末尾。
clear
清除这个矢量的元素。
data
返回指向该矢量的第一个元素。
放置
插入元素构造就地到矢量中的指定位置。
emplace_back
添加构造一个元素就地到个矢量的末尾。
empty
,如果向量容器为空,测试。
end
返回指向一个矢量的末尾的一个随机访问迭代器。
erase
从指定的位置移除元素或元素的大小矢量的。
front
返回对矢量的第一个元素。
get_allocator
返回到向量使用的 allocator 类的对象。
insert
插入元素或多个元素到矢量中的指定位置。
max_size
返回一个矢量的最大长度。
pop_back
删除组件在这个矢量的末尾。
push_back
将元素添加到个矢量的末尾。
rbegin
返回迭代器到一个反转的向量的第一个元素。
rend
返回迭代器到一个反转的矢量的末尾。
reserve
保留存储的最小长度向量对象的。
resize
为向量指定一个新范围。
shrink_to_fit
放弃多余的能力。
size
返回元素数。这个矢量的。
swap
交换两个矢量的元素。
- 标准库vector类型
- 标准库vector类型
- 标准库vector类型
- 标准库vector类型
- 标准库Vector类型
- 标准库vector类型
- 标准库 vector 类型
- 标准库vector类型
- 标准库类型vector
- 标准库vector类型
- 标准库类型<vector>
- 标准库vector类型
- 标准库类型vector
- 标准库 vector 类型
- 标准库类型vector
- 标准库类型vector
- 标准库 vector 类型
- 标准库类型vector
- ContentType清单
- 完成端口(Completion Port)详解
- linux vi/vim 基础学习
- 关于AICC、SCORM和LMS
- AF_INET和PF_INET的细微不同
- 标准库vector类型
- 黑马程序员_java网络编程
- 积分比较法插补原理
- 更改数据库密码
- LNAMP(Debian + Nginx + Apache + Mysql + PHP)配置笔记
- 根据反射机制测试private方法(junit测试)
- 简单字符设备驱动的编写
- Extjs , Ext.selection.Mode 实现行多选功能
- [未测试]仿淘宝运费 提取到商品详细页面