условный оператор

программирование С++

насколько хуже(лучше) писать так:
if( (a>5 && a<10) || (a>50 && a<100) )
{...}

чем так:
if( (a>5 && a<10) )
if( (a>50 && a<100) )
{...}
по производительности и тд...

понятно что я упростил как условия, так и вопрос...

Примечание:
точно закосячил ((( стыдно... но тем не менее...
у меня если много && и || условие неправильно работает, может я косячу а может и нет, да и читать потом сложнее, вот и думаю расписывать на несколько условий или нет

Примечание:
не примеры то от балды я написал, не хотелось ту бороду переписывать
Ответы:
Это не условный оператор, а условие, условный оператор выглядит как    (bool) ? true: false;
Первый вариант лучше так как меньше переходов
>Kekto
>у меня если много  && и || условие неправильно работает
Дебагер вам в помощь. И есть куда более медленные вещи, чем простой переход...
Вообще, в общем случае, второй вариант в теории заметно хуже по производительности - может быть раза в полтора-два. Но обычно компилятор "видит" это и в итоге выдаёт оптимизированный код, соответствующий первому варианту.


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.