vector容器 begin()与end()函数、front()与back()的用法
2016-07-07 19:23
489 查看
向量容器(vector)是一种顺序容器,是一块连续分配的内存,支持随机访问,从数据安排的角度看,和数组极其相似,数组跟vector的区别在于:数组是静态分配空间,一旦分配了空间的大小,就不可以再改变了,例如,int a[6];而vector是动态分配内存,随着元素的不断插入,它会按照自身的一套机制不断扩充自身的容量,vector容器的容量增长是按照容器现在容量的一倍进行增长。
begin函数:
函数原型:
iterator begin();
const_iterator begin();
功能:
返回一个当前vector容器中起始元素的迭代器。
end函数:
函数原型:
iterator end();
const_iterator end();
功能:
返回一个当前vector容器中末尾元素的迭代器。
front函数:
函数原型:
reference front();
const_reference front();
功能:
返回当前vector容器中起始元素的引用。
back函数:
函数原型:
reference back();
const_reference back();
功能:
返回当前vector容器中末尾元素的引用。
输出结果:
v1.front() = m
v1.back() = p
m
p
begin函数:
函数原型:
iterator begin();
const_iterator begin();
功能:
返回一个当前vector容器中起始元素的迭代器。
end函数:
函数原型:
iterator end();
const_iterator end();
功能:
返回一个当前vector容器中末尾元素的迭代器。
front函数:
函数原型:
reference front();
const_reference front();
功能:
返回当前vector容器中起始元素的引用。
back函数:
函数原型:
reference back();
const_reference back();
功能:
返回当前vector容器中末尾元素的引用。
//实例: #include <iostream> #include <vector> using namespace std; int main() { vector<char> v1; vector<char>::iterator iter1; vector<char>::iterator iter2; v1.push_back('m'); v1.push_back('n'); v1.push_back('o'); v1.push_back('p'); cout << "v1.front() = " << v1.front() << endl; cout << "v1.back() = " << v1.back() << endl; iter1 = v1.begin(); cout << *iter1 << endl; iter2 = v1.end()-1; //注意v1.end()指向的是最后一个元素的下一个位置,所以访问最后一个元素 //的正确操作为:v1.end() - 1; cout << *iter2 << endl; return 0; }
输出结果:
v1.front() = m
v1.back() = p
m
p
相关文章推荐
- laravel项目连接redis
- poj 3259 Wormholes题解
- laravel框架中使用model层
- 各种小程序:(运动员名次与谁是凶手等)
- iOS开发:Swift语言使用iconfont
- CSS3 用户界面
- 数据科学中的语言和普通平台
- 【Lucene】Apache Lucene全文检索引擎架构之入门实战
- 记一次PHP7+opcache+zmq出现SIGSEGV 问题的查找(一次不成功的bug查找)
- Docker 构建 redis 集群
- 在Linux下使用gradle自动打包
- JavaScript url 编码转换
- Bugtags创业一年总结
- grep同时搜索2个pattern
- 使用delete删除var声明的变量
- Leetcode112. Path Sum
- 一个电商项目的功能模块梳理2
- 一个电商项目的功能模块梳理2
- 一个电商项目的功能模块梳理2
- 使用ImageNet在faster-rcnn上训练自己的分类网络