vector中begin(),end()和front(),back()的区别

一、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容器中末尾元素的引用。


说了这么多,实例才是最能说明问题的,相信聪明的你一定可以理解的:

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

猜你喜欢

转载自blog.csdn.net/weixin_40311211/article/details/81065786