РЕДАКТИРОВАТЬ: я забыл добавить часть цикла второго кода.
Глядя на два стиля кода
while(some_loop_cont_val)
{
while(pre_x is not done)
{
//do action pre_x
}
//do action x
}
и
while(some_loop_cont_val)
{
if(pre_x is not done)
{
//do action pre_x
}
else
{
//do action x
}
}
Первый цикл выполняет pre_x (возможно, итеративное действие), затем x, второй выполняет часть pre_x, затем, если он не выполнен, продолжает делать это до тех пор, пока не выполнит, затем выполняет x. Так что оба делают pre_x и затем x.
Мне интересно, есть ли какие-либо различия между этими двумя аспектами, как с точки зрения эффективности, так и другими способами (т. Е. Если есть какой-то тонкий эффект, который возникнет очень редко, и т. причина использовать одно вместо другого в конкретной ситуации, или если это просто вопрос предпочтений.