FUP
オブジェクトをスタックからポップして、 (上を向いている)かどうかに関係なく、その状態を確認したいとしましょう。
スタックが空になるか、インスタンスの状態が上を向いていないポイントに到達するまで、これを続けたいと思います。この場合、このインスタンスを押し戻し、ループを停止する必要があります。
これを行う1つの方法は次のとおりです。
bool isfup = true;
while(pop(stack, &ins) && isfup = ins->state == FUP)
{
// continue removing elements from stack
}
if(isfup == false)
push(stack, ins);
そして、これが私がそれを行う方法です:
while(pop(stack, &ins) && (ins->state == FUP || (push(stack, ins) && false)));
// while( A && ( B || ( C && false ) ) );
私の質問は、この種のスタイルのコードを書くのをやめて、明確にするべきですか? または私はそれを保持する必要がありますか?