gpt4 book ai didi

c++ - 基于两个集合的类的自定义迭代器

转载 作者:行者123 更新时间:2023-11-30 04:38:59 24 4
gpt4 key购买 nike

我有一个包含两组的类。它们都包含相同的键类型,但具有不同的比较操作。

我想为迭代两个集合的元素的类提供一个迭代器。我想从一个集合开始,然后当我递增指向第一个集合的最后一个元素的迭代器时,我想转到第二个集合的第一个元素。我该怎么做呢?我想保留 std::set 的双向迭代器语义,但如果事实证明实现前向迭代器要容易得多,那就这样吧。

如果有帮助,我愿意使用 Boost Iterator 库。

最佳答案

我使用 boost 库实现了一个非常相似的迭代器:

从这里阅读: http://www.boost.org/doc/libs/1_42_0/libs/iterator/doc/iterator_facade.html#a-basic-iterator-using-iterator-facade

对于前向迭代器,您需要实现 operator++,要将其更改为双向迭代器,您需要实现 operator--。

实现由您决定,但所有内容都在文档中进行了说明。

关于c++ - 基于两个集合的类的自定义迭代器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2676337/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com