原文:http://blog.sina.com.cn/s/blog_7b3a697301014a9n.html
在正式进入学习C++STL中的最基本的容器:vector之前,先八卦一下,我是非计算机专业的学生,但对计算机编程,对软件开发却有着浓厚的兴趣,因此,大学四年一直以C++作为自己学习计算机编程的主攻方向,虽然,现在的我还很菜,相信通过我坚持不懈的努力,终究有一天,我会学有所成!
向量容器(vector)是一种顺序容器,是一块连续分配的内存,支持随机访问,从数据安排的角度看,和数组极其相似,数组跟vector的区别在于:数组是静态分配空间,一旦分配了空间的大小,就不可以再改变了,例如,inta[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容器中末尾元素的引用。
实例:
#include <iostream>
#include <vector> using namespace std;int main()
{ vector<char>v1; vector<char>::iteratoriter1; vector<char>::iteratoriter2; 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