gpt4 book ai didi

c++ - 泛型迭代器

转载 作者:IT老高 更新时间:2023-10-28 12:46:09 27 4
gpt4 key购买 nike

我正在尝试找到一种访问一组容器的通用方法。除了另一个自定义列表之外,我还有一个标准 vector 和列表。

自定义列表定义了一个迭代器;

class Iterator: public std::iterator<std::forward_iterator_tag, T> {
// ...
}

Iterator begin() {
return (Iterator(root));
}

Iterator end() {
return (Iterator(NULL));
}

适当的运算符重载。

理想情况下,我愿意这样做;

class Foo {
public:
Foo() {
std::list<int> x;
std::vector<int> y;
custom_list<int> z;

iter = x.begin(); // OR
iter = y.begin(); // OR
iter = z.begin();

// ...
};
private:
std::iterator<int> iter;
};

但显然这些都是不同类型的迭代器。不过,我可以假设所有容器都是同一类型。

有没有优雅的方法来解决这个问题?

最佳答案

关于c++ - 泛型迭代器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9938/

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