0

可能重复:
C++ 是否存在循环列表的标准实现?

我正在寻找一种访问行为“类似环形”的数据结构,因此如果我增加迭代器并达到结尾,它将被重置为开头。如果我添加数据,大小应该会增加。

void ++(iterator& it, datastructure& data)
{       
    ++it;   // should have checked if it is already the end
    if( it == data.end() && data.size() )
    {
         it = data.begin();
    }
}

我认为boost::circular_buffer这不是我要找的,因为插入的行为是环状的。我的名单应该被允许无限增长。

有没有一种标准的方法呢?我可以很容易地找到解决方法,但很好奇是否存在这样的东西。一个链表,其末端总是连接到第一个元素或类似的元素。

更新

s3rius建议的那样,我查看了一个类似的问题,并且有一个示例如何为此类事情编写自己的迭代器。我会试试这个,也投票赞成关闭。

4

0 回答 0