2016-07-06 2 views
0

Например, в очень длинный цикл:
(bool x;)Что лучше с точки зрения производительности? Чтобы проверить, истинно ли логическое значение или задано ли оно все время?

Чтобы проверить это всегда:

if (!x) x = true; 

или просто установить его истинным все время:

x = true; 
+0

Если первая форма была быстрее, компиляторы всегда это делали. – usr

+0

Поскольку это агностик языка, имейте в виду, что если есть побочные эффекты при назначении bool, две версии не совпадают. (Примеры: переопределенный сеттер, если bool - класс, изменения в параллелизме, если bool - семафор) –

ответ

0

Безусловное назначение, что более важно, легче читать. Очень маловероятно, что такой код будет выполняться достаточно часто, чтобы повлиять на общую производительность любой программы.

Смежные вопросы