Вложенные if, проверка правильности указателя, затем проверка значения

Этот вопрос не дает мне покоя уже давно

Является ли обычным иметь кусок кода, который работает так:

bool failed = false;
if (ptr)
{
    if (ptr->value == foo)
    {
        print("error");
        failed = true;
    }
}
if (!failed)
{
    print("all systems go");
}

Или это можно сделать без bool? Я думаю, что первые два if могут быть в одной строке, но я не уверен, в каком порядке они проверяются в разных средах, и я думаю, что это может сделать код более трудным для чтения.

0
задан Lightness Races in Orbit 19 December 2011 в 11:09
поделиться