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
  • 27
    点赞
  • 118
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
引用\[1\]的代码展示了如何使用vector的cbegin()函数来获取一个指向vector第一个元素的常量迭代器。这个迭代器不能修改vector的内容。类似地,引用\[2\]的代码展示了如何使用vector的begin()函数来获取一个指向vector第一个元素的迭代器。这个迭代器可以用来修改vector的内容。引用\[3\]的代码展示了如何使用vector的begin()函数来获取一个指向vector第一个元素的迭代器,并且通过for_each函数遍历vector的元素并输出。所以,vector的begin()函数用于获取一个指向vector第一个元素的迭代器。 #### 引用[.reference_title] - *1* [vector begin()用法](https://blog.csdn.net/deeplan_1994/article/details/83109649)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [C++STLvector容器 begin()与end()函数、front()与back()的用法](https://blog.csdn.net/weixin_30414305/article/details/94852223)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [【vector的各个begin迭代器详解】](https://blog.csdn.net/m0_66363962/article/details/128486688)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值