vector_01
尾部 ==> 添加/删除 快
头部/中间 ==> 添加/删除 慢
A、尾部 添加/移除:
void vector::push_back();
void vector::pop_back();
B、随机存取
B.1、[?] ==> 越界时,程序 崩溃
B.2、at(?) ==> 越界时,抛异常 out_of_range
C、数据存取
C.1、T vector::front(); // 第一个 (既可用于返回,也可以用于设置)
C.2、T vector::back(); // 最后一个(既可用于返回,也可以用于设置)
1、构造函数
1.1、默认构造函数 ==> 无参构造函数
1.2、必定需要 复制构造函数 :vector<T> vecT(const vector& );
1.3、vector<T> vecT(iteratorBegin, iteratorEnd); // 迭代器区间[iteratorBegin, iteratorEnd)拷贝给vecT
注意: 这里可以传数组指针,数组指针在特定情况下可以当做迭代器使用
1.4、vector<T> vecT(n, elemValue); // n个elemValue复制给vecT
2、赋值
2.1、重载"="操作符
vector& = const vector& vec;
2.2、void vector<T>::assign(beg, end); // [beg, end)区间拷贝给
2.3、void vector<T>::assign(n, elemValue);// n个elemValue拷贝给
3、迭代器操作
3.1、const_iterator vector<T>::begin(); // 第1个
3.2、const_iterator vector<T>::end(); // 最后1个
3.3、const_reverse_iterator vector<T>::rbegin(); // 倒数第1个
3.4、const_reverse_iterator vector<T>::rend(); // 倒数最后1个
4、插入
注意: 拷贝插入(ZC: 也就是说 插入容器的元素是 类实例的话,类必须提供复制构造函数)
iterator vector::insert(const_iterator, elemValue); // 返回新元素的位置,拷贝插入
void vector::insert(const_iterator, size_type n, elemValue);
void vector::insert(const_iterator, iterator beg, iterator end); // [beg, end)区间
5、删除
void vector::clear();
iterator vector::erase(const_iterator beg, const_iterator end); // [beg, end)区间,返回下一个元素的位置
iterator vector::erase(const_iterator pos); // 返回下一个元素的位置
6、交换
void vector<T>::swap(vector<T>&);
7、大小
size_type vector<T>::size();
bool vector<T>::empty();
void vector<T>::resize(size_type);
void vector<T>::resize(size_type, elemValue);
8、查找
vector_01的更多相关文章
随机推荐
- 1.keras实现-->自己训练卷积模型实现猫狗二分类(CNN)
原数据集:包含 25000张猫狗图像,两个类别各有12500 新数据集:猫.狗 (照片大小不一样) 训练集:各1000个样本 验证集:各500个样本 测试集:各500个样本 1= 狗,0= 猫 # 将 ...
- numpy中的广播(Broadcasting)
Numpy的Universal functions 中要求输入的数组shape是一致的,当数组的shape不相等的时候,则会使用广播机制,调整数组使得shape一样,满足规则,则可以运算,否则就出错 ...
- git客户端msysGit和TortoiseGit使用
windows下使用TortoiseGit代替Git命令行操作(参考http://www.cnblogs.com/candle806/p/4071656.html) 1.配置TortoiseGit与m ...
- selenium WebDriver处理文件下载
下载文件WebDriver 允许我们设置默认的文件下载路径.也就是说文件会自动下载并且存在设置的那个目录中.下面以FireFox 为例执行文件的下载. package com.mypro.jase; ...
- python 安装 Scrapy 模块
环境的安装总是让人多愁善感,爱恨交叉... 本人安装环境:win7 64 + python2.7 先来几个网站 https://doc.scrapy.org/en/latest/intro/insta ...
- 关于gg_bd_ad_720x90.js和follow.js
很多人对gg_bd_ad_720x90.js和follow.js 抱有疑问,这是个什么鬼? 我也迷惑了一阵子,今天偶然发现了这两个源文件. 大家一起欣赏下. 注意红色加粗代码. 1.follow.js ...
- html5设置全屏模式--开发游戏必备
<!-- uc强制竖屏 --> <meta name="screen-orientation" content="portrait"> ...
- Python中的is和==的区别,==判断值是否相等,is判断地址是否一致
Python中的is和==的区别 Python中的对象包含三要素:id.type.value. 其中id用来唯一标示一个对象,type标识对象的类型,value是对象的值. is判断的是a对象是否就是 ...
- 通过Java 线程堆栈进行性能瓶颈分析
改善性能意味着用更少的资源做更多的事情.为了利用并发来提高系统性能,我们需要更有效的利用现有的处理器资源,这意味着我们期望使 CPU 尽可能出于忙碌状态(当然,并不是让 CPU 周期出于应付无用计算, ...
- 浏览器内核、排版引擎、js引擎
[定义] 浏览器最重要或者说核心的部分是“Rendering Engine”,可大概译为“渲染引擎”,不过我们一般习惯将之称为“浏览器内核”.负责对网页语法的解释(如标准通用标记语 言下的一个应用HT ...