Как это можно сделать, если утверждение можно упростить? - PullRequest
1 голос
/ 19 мая 2019

Я использую CLion IDE для написания кода моего C ++ проекта.Иногда случается, что IDE пытается быть умнее меня и дает мне советы.У меня есть простая проблема во время проверки кода (CLion).В нем говорится, что следующий код можно упростить, хотя я считаю, что это самая простая форма, которую я могу себе представить:

Код:

    if (node.first >= 0 && node.first <= 45 &&
    node.second >= 0 && node.second <= 30)
    return true;
    else
    return false;

Предположим, что узелтипа std::pair<int, int>

Я получаю следующее предложение от IDE CLion:

Комментарии проверки кода:

Inspection info: This inspection finds the part of the code that can be simplified, e.g. constant conditions, identical if branches, pointless boolean expressions, etc.

Делаете ли выдумаете, это можно упростить еще?

1 Ответ

6 голосов
/ 19 мая 2019

CLion намекает вам, что этот бит ...

if (node.first >= 0 && node.first <= 45 &&
    node.second >= 0 && node.second <= 30)
    return true;
else
    return false;

можно просто переписать как

return node.first  >= 0 && node.first  <= 45 &&
       node.second >= 0 && node.second <= 30;

Поскольку выражение, используемое в качестве условия в операторе управления, очевидно, имеет естественное преобразование в true и false.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...