У меня есть простой вопрос, который я представляю в основном для моего любопытства.Разница в производительности для условия цикла?
В чем разница между этими двумя строками кода? (В C++)
for(int i = 0; i < N, N > 0; i++)
for(int i = 0; i < N && N > 0; i++)
Выбор условий является совершенно произвольным, я просто заинтересован в различиях между ними, и & &.
Я не новичок в кодировании любым способом, но я никогда не беспокоился с оператором запятой.
Существуют ли различия в характеристиках/поведении или это чисто эстетические?
Одна последняя заметка, я знаю, что есть большая рыба производительности, чтобы обжарить, чем условный оператор, но мне просто интересно. Побалуйте меня.
Редактировать Спасибо за ваши ответы.
Оказалось, что код, вызвавший этот вопрос, неправильно использовал оператор запятой в том виде, как я описал. Я задавался вопросом, какая разница и почему это был не оператор & &, но он был просто написан неправильно. Я не думал, что с ним что-то не так, потому что это сработало отлично. Спасибо, что выпрямил меня.
Почему вы беспокоитесь о производительности? В то время, когда требуется получить ответ на этот вопрос, 9 наносекунды, которые вы сохранили бы с использованием одной или другой нотации, уже будут потеряны. «Преждевременная оптимизация - корень всего зла ...» – Juliet
Он не сказал, что беспокоится - просто любопытно. Я действительно хочу, чтобы люди переставали размахивать флагом «преждевременной оптимизации» каждый раз, когда кто-то «просто хочет знать». Любопытство - это хорошая вещь *. –
Интересно, сколько времени было бы спасено, если бы SO реализовал фильтр, который каждый раз, когда кто-либо упоминает слова «производительность» или «быстрее» в вопросе, просто авто-сообщения с комментарием «вы не можете думать о что, гражданин, теперь возвращайся к работе »;-) –