vector的单个迭代器

A single iterator of vectorS

本文关键字:迭代器 单个 vector      更新时间:2023-10-16

是否有一种有效的方法可以让单个iterator迭代2个对象vector的连接,就像它们是一个一样?

两个向量当然包含相同的数据类型

更新:

我想我应该把我的问题和我的背景更详细。这可以回答一些问题:

实际上,我有一个属性来存储该迭代器的最后一个位置,并且在一个方法中,我从上次调用中停止的最后一个位置开始迭代,这可能是在第一个向量中,也可能是在第二个向量中。

这个解决方案怎么样?它可能不优雅,但我想它尊重标准。对吧?

vector<Whatever>::iterator it = vectorA.begin();
bool loopOnVectorA = true;
while(true) {
  // My stuff here
  if (loopOnVectorA && it == vectorA.end())
  {
    it = vectorB.begin();
    loopOnVectorA = false;
  }
  else if (it == vectorB.end())
  {
    break;
  }
  else
  {
    varPtrIt++;
  }
}