是否有一种有效的方法可以让单个iterator迭代在两个对象( vector )的连接上,就像它们是一个对象一样?
当然,这两个向量包含相同的数据类型。
更新:
我想我应该就我的问题和我的背景提出更多的细节。这可能会回答以下一些问题:
实际上,我有一个属性,它存储迭代器的最后一个位置,在一个方法中,我从上次调用中停止的最后一个位置开始迭代,这个位置可能在第一个向量中,也可能在第二个向量中。
发布于 2014-07-02 10:37:00
这个解决方案呢?它可能不优雅,但我想它是尊重标准的。对吗?
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++;
}
}https://stackoverflow.com/questions/23469170
复制相似问题