我正在读一本关于数据结构的书,现在正在尝试实现单链表数据结构。在实现迭代器时,我遇到了这些重载前缀和后缀增量的实现:
iterator &operator++()
{
this->current = this->current->next;
return *this;
}
iterator &operator++(int)
{
iterator old = *this;
++(*this);
return old;
}
我知道第一个是前缀,第二个是后缀,但我不明白为什么重载的后缀增量有不同的代码?如果我这样做会有什么问题?
iterator &operator++(int)
{
this->current = this->current->next;
return *this;
}
提前致谢。