私はuint32カウンタを持っています。私はこのカウンターを読んで、それを保存しますstartCount = counter;
次に私はいくつかの操作を行い、そして再びカウンターをチェックします。 counterがstartCount + 1より大きい場合(平均カウンタを少なくとも2回インクリメントする必要があります)。リセットするカウンタとの比較
if (counter > startCount +1)
break;
カウンタは、unit32の最大値に達するとゼロにリセットされます。それを行うには良い/よりスマートな方法があります:?私の質問があり、私は
if (startCount == Max)
if (counter > 0)
break;
else
if (counter > startCount +1) || (counter < startCount)
break;
を追加し、これを補うために ありがとうございました。
をカバーする必要があります。 'startCount == UINT23_MAX'でも' counter> 0'は 'counter> startCount + 1'と等しくなることに注意してください。しかし、一般的には、「よりスマートにする方法」についてのアドバイスは、なぜあなたが最初にそれを行うのかを示す必要があります。 – StoryTeller
カウンタが内部で、タイプを変更できません。私は少しcomparsionと非常に良いと私はこのコードのブロックがいくつかのexpreienceプログラマがsimilarの問題に直面しているかもしれないと考えて、単一のステートメントに減らすことができるかどうか疑問に思っていた。 –