C++ イテレーターを使用したコーディングで、イテレーターが指している前の値を取得したい場合は、次のように記述します。
*--Iter
または、次のように括弧を追加する方がよいと思いますか:
*(--Iter)
?
C++ イテレーターを使用したコーディングで、イテレーターが指している前の値を取得したい場合は、次のように記述します。
*--Iter
または、次のように括弧を追加する方がよいと思いますか:
*(--Iter)
?
プログラムの正確性に関する限り、それは問題ではありません。しかし、私は常にこれを と表現しています*(--Iter)
。なぜなら、これは*--Iter
.
どちらでも構いません。従う必要があるコーディング標準で推奨されるもの、または個人的に好むものを使用してください。
わかりやすくするために後者を使用しますが、どちらも完全に有効で同等です。
注: 混乱が生じた場合に備えて、この構文は前の反復子の値を取得するだけでなく、反復子自体を後方に移動します。あなたが持っているものを変更せずに先行イテレータの値を取得したい場合は、一時的なものが必要です。
これらのいずれかが期待どおりに機能したとしても、どちらも読みにくいものです。これは単一のステートメントで行う必要がありますか?