【发布时间】:2012-10-06 02:21:35
【问题描述】:
假设我想从堆栈中弹出对象并检查它们的状态,无论是FUP(朝上)还是不是。
我想继续这样做,直到堆栈为空或实例的状态未朝上为止;在这种情况下,我需要推回这个实例并停止循环。
这是一种方法:
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 ) ) );
我的问题是,我应该停止编写这种风格的代码并保持清晰吗?还是我应该保留它?
【问题讨论】:
标签: c++ loops optimization coding-style