vector容器 begin()与end()函数、front()与back()的用法

向量容器(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容器中末尾元素的引用。

[cpp]  view plain  copy
  1. //实例:  
  2. #include <iostream>  
  3. #include <vector>  
  4. using namespace std;  
  5. int main()  
  6. {  
  7.  vector<char> v1;  
  8.  vector<char>::iterator iter1;  
  9.  vector<char>::iterator iter2;  
  10.  v1.push_back('m');  
  11.  v1.push_back('n');  
  12.  v1.push_back('o');  
  13.  v1.push_back('p');  
  14.    
  15.  cout << "v1.front() = " << v1.front() << endl;  
  16.  cout << "v1.back() = " << v1.back() << endl;  
  17.    
  18.  iter1 = v1.begin();  
  19.  cout << *iter1 << endl;  
  20.  iter2 = v1.end()-1;    //注意v1.end()指向的是最后一个元素的下一个位置,所以访问最后一个元素  
  21.                         //的正确操作为:v1.end() - 1;  
  22.  cout << *iter2 << endl;  
  23.  return 0;  
  24. }  

输出结果:
  v1.front() = m
   v1.back() = p
   m
   p

猜你喜欢

转载自blog.csdn.net/jisuanji198509/article/details/80749674