gpt4 book ai didi

c++ - 分层数据的另一个迭代器中是否应该有一个迭代器?

转载 作者:太空宇宙 更新时间:2023-11-04 14:32:23 25 4
gpt4 key购买 nike

我想为我的列表数据维护一个迭代器,但列表数据中有另一个列表,我也想维护那个迭代器。我应该在迭代器中维护一个迭代器吗?两个迭代器应该分开吗?

// iterator interface
class Iterator
{
public:
boolean hasNext() = 0;
Object getCurrnetItem() = 0;
Object next() = 0;
boolean remove() = 0;
}

// this iterator will iterator the following list
std::vector<MY_SCRUCT> mList;

现在 MY_STRUCT 中有另一个 std::vector,我也需要迭代器。下面将其表示为示例代码:

struct MY_SCRUCT
{
int numOfObjects;
std::vector<int> data; // i need iterator for this one too!
}

我需要维护这两个列表的迭代器,以便我的应用程序可以随时知道当前选择的项目是什么。

我的问题是,这些迭代器是否应该分开,一个应该留在另一个内部以对应于该数据结构?

最佳答案

我会说把另一个放在里面而不是分开。似乎是将相关代码放在一起的良好编码习惯。此外,您可以从自身内部创建迭代器对象的实例,而不是创建一个新的。这样,当您执行 OOP 时,您的迭代器类将具有与您的结构类相似的结构(使您的代码更易于管理和清晰)。

关于c++ - 分层数据的另一个迭代器中是否应该有一个迭代器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18878831/

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