Зачем использовать присваивание в условии?

Я считаю, что это наиболее conditional полезно в цепочках действий, которые condition часто включают обнаружение variable-assignment ошибок и т. д.

if ((rc = first_check(arg1, arg2)) != 0)
{
    report error based on rc
}
else if ((rc = second_check(arg2, arg3)) != 0)
{
    report error based on new rc
}
else if ((rc = third_check(arg3, arg4)) != 0)
{
    report error based on new rc
}
else
{
    do what you really wanted to do
}

Альтернатива variable-assignment (без использования присваивания conditional-statements в условии):

rc = first_check(arg1, arg2);
if (rc != 0)
{
    report error based on rc
}
else
{
    rc = second_check(arg2, arg3);
    if (rc != 0)
    {
        report error based on new rc
    }
    else
    {
        rc = third_check(arg3, arg4);
        if (rc != 0)
        {
            report error based on new rc
        }
        else
        {
            do what you really wanted to do
        }
    }
}

При длительной conditionals проверке ошибок альтернатива language-agnostic может работать за пределами variable-assignment правой части страницы, в language-independent то время как версия с условным language-independent присвоением этого не делает.

Проверки condition ошибок также могут быть «действиями» — first_action(), second_action(), third_action() — конечно, а conditional не просто проверками. То language-agnostic есть они могут быть проверенными language-independent шагами в процессе, которым language-independent управляет функция. (Чаще conditional-statements всего в коде, с которым я language-agnostic работаю, функции соответствуют condition проверкам предварительных language-independent условий или выделению памяти, необходимому conditionals для работы функции, или аналогичным conditional-statements образом).

conditional-statements

language-agnostic

variable-assignment

2022-11-20T18:56:34+00:00
Вопросы с похожей тематикой, как у вопроса:

Зачем использовать присваивание в условии?