项目场景:

使用迭代器实现输出vector对象中,第一个和最后一个的和,第二个和倒数第二个的和,以此类推


问题描述:

代码如下:

#include<iostream>
#include<vector>
using namespace std;int main()
{int a[10] = { 1,2,3,4,5,6,7,8,9,10 };vector<int> val(a, a + 10);auto first = val.begin();auto last = val.end()-1;for (; *first != *last;){cout << *first + *last << endl;first++;last--;}
}

编译通过,显示错误信息:


原因分析:

我在这里没注意first小于last时候并没有停止循环,导致了last–,减到头了,所以程序无法运行下去。


解决方案:

更改判定条件即可

#include<iostream>
#include<vector>
using namespace std;int main()
{int a[10] = { 1,2,3,4,5,5,4,3,2,1 };vector<int> val(a, a + 10);auto first = val.begin();auto last = val.end()-1;for (; first < last;  first++){last--;cout << *first + *last << endl;}
}

can‘t decrement vector iterator before begin相关推荐

  1. 关于VS运行时出现错误cannot decrement string iterator before begin

    先给出出现该错误的原因,总的来说是因为迭代器iterator越界了,出现了这个错误的话大家可以找一下迭代器做循环的时候是否越界 我的错误代码和改正方法如下: string ReverseSentenc ...

  2. vector iterator not incrementable 的问题

    当使用vector<>::iterator时,有时会发生这种情况,iterator not incrementable #include <list> using namesp ...

  3. c++ vector iterator

    #include <string.h> #include <vector> #include <iostream> #include <algorithm&g ...

  4. STL vector中的begin方法(3)

    原文地址:http://www.cplusplus.com/reference/vector/vector/begin/ public member function <vector> s ...

  5. call of overloaded 'xxx' is ambiguous

    这里定义了一个模版函数,功能同STL里的copy函数: #include <vector> #include <list> #include <iostream>t ...

  6. vector容器与iterator迭代器

    vector容器 vector是同一种类型的对象的集合,每个对象都有一个对应的整数索引值.和string对象一样,标准库负责管理存储元素的相关内存.我们把vector称为容器,是因为它可以包含其他对象 ...

  7. Vector容器与Iterator迭加器

    文章出处:http://www.cppblog.com/totti1006/archive/2009/09/01/94955.html vector容器 vector 是同一种类型的对象的集合,每个对 ...

  8. std::vector中 begin()、end()、front()、back()的区别

    前言 之前看见std::vector 容器的begin().end().front().back()用法,了解begin()和end(),不了解front()和back()方法,今天没事查了下博客,验 ...

  9. C++ 容器1 vector

    容器分类: 1.顺序容器有以下三种:可变长动态数组 vector.双端队列 deque.双向链表 list. 它们之所以被称为顺序容器,是因为元素在容器中的位置同元素的值无关,即容器不是排序的.将元素 ...

最新文章

  1. php面向对象 设计模式,PHP面向对象单态设计模式详解
  2. 高通msm8994手动提升性能脚本
  3. 个人管理 - 程序员的四个阶段
  4. ITK:创建一个固定数组
  5. 手把手教你玩转ARP包(一)
  6. uni-app(从零开始)
  7. 【渝粤教育】电大中专药物分析技术基础作业 题库
  8. 河北微型计算机原理专接本,河北省专接本(微机原理与接口技术知识点总结)
  9. redis双写一致性问题
  10. Atitit 解决Unhandled event loop exception错误的办法
  11. 多智能体通信:MAGNet用于深度多智能体强化学习的多智能体图网络
  12. 3万字“十看支付”:开启支付之门
  13. 使用Qt开发2D“沙盒”小游戏
  14. kindle- amazon kindle电子书导出 转换成epub,并显示中文名
  15. 基于Flink的实时数据消费应用、功能质量保障方法
  16. gStore:A Graph-based SPARQL Query Engine---part2
  17. 将复制文件ExtremeCopy整合到TC(Total commander)中
  18. ensp 单臂路由的配置
  19. java链表实现一元多项式的合并同类项以及加法
  20. TIFF中关于TFW 文件的问题

热门文章

  1. java8 forkjoinpool_Java 普通线程池与 ForkJoinPool 的效果对比
  2. 通过检查table_locks_waited和table_locks_immediate状态变量来分析系统上的表锁定争夺
  3. 计算机网络陈晴,最新计算机网络专业参考文献 计算机网络专业参考文献怎么写...
  4. pom.xml文件中的dependency的scope属性值为test,但是Test sources root的文件里面不能使用
  5. python连通域提取 原理_连通域的原理与Python实现
  6. mac 远程连接win7桌面
  7. 数字图像处理(冈萨雷斯版)-第一章
  8. Python实现PD文字识别、提取并写入CSV文件脚本分享
  9. Android 贝塞尔曲线实战之网易云音乐鲸云特效,2021程序员进阶宝典
  10. Python四种读取数据文件的方法