私はデータ構造に関する本を読んでいましたが、現在、片方向リストのデータ構造を実装しようとしています。イテレータを実装しているときに、オーバーロードされたプレフィックスとポストフィックスのインクリメントの次の実装に出くわしました。
iterator &operator++()
{
this->current = this->current->next;
return *this;
}
iterator &operator++(int)
{
iterator old = *this;
++(*this);
return old;
}
最初のものはプレフィックス用で、2 番目のものはポストフィックス用であることはわかっていますが、オーバーロードされたポストフィックスのインクリメントのコードが異なるのはなぜですか? これを行うと何が問題になりますか?
iterator &operator++(int)
{
this->current = this->current->next;
return *this;
}
前もって感謝します。