【发布时间】:2020-06-13 10:02:47
【问题描述】:
我正在为 LinkedList 类编程以进行学习但我不知道实现迭代器end() 的正确方法是什么。在 begin() 的情况下,我传递 Head 并且我喜欢 Head = Head->next; 但 end() 将指向一个过去的元素,所以我不能直接传递 Tail 并像 Tail = Tail->prev 一样迭代。
1)链表迭代器end()结束函数的正确实现方式是什么。
2)我应该将内存分配为 dummy 还是在 operator ++ 和 operator-- 中做一些条件?
3)std::list 如何做到这一点?
谢谢。
【问题讨论】: