我知道如何实现模板类。
但是,我不明白如何内部实现以下list<int>::iterator
。我应该创建一个名称空间吗?
(基本上,我想使用定制化实施同样的STL语法)。如何实现列表<T> :: iterator?
list<int> l;
list<int>::iterator it = l.begin();
总之,是什么让代码没有任何STL库工作的最简单的方法?
这是自定义列表实现的一个片段: (我省略了大部分的方法,以提高可读性。)
template <typename T>
struct list {
struct listNode {
listNode() : item(0), next(0) {}
listNode(T x) : item(x), next(0) {}
T item;
listNode* next;
};
list() : head(0),tail(0) {}
listNode* head;
listNode* tail;
};
为什么不看看你的STL实现,看看如何实现'list :: iterator'? – PaulMcKenzie
StackOverflow不是让其他人编写代码的网站。您需要尝试编写它,如果您遇到问题,请发布您拥有的代码并清楚说明您遇到的具体问题。 – xaxxon
我想我没有清楚说明我的问题。我只是不明白符号本身的机制。我不希望人们实现我的代码。迭代器怎么可能有一个未知的容器? –