Вопросы с тегом «short-circuiting»

Функция некоторых языков пропускать определенный код во время выполнения, которая не влияет на результат, особенно при тестировании сложных условий

147
Оценивается ли короткое замыкание предложения SQL WHERE?

Оцениваются ли логические выражения в предложениях SQL WHERE для короткого замыкания ? Например: SELECT * FROM Table t WHERE @key IS NULL OR (@key IS NOT NULL AND @key = t.Key) Если @key IS NULL оценивается как истина, оценивается ли @key IS NOT NULL И @key = t.Key ? Если нет, то почему? Если да,...

143
Обязательны ли закорачивающие логические операторы? А порядок оценки?

Есть ли стандарт ANSI мандат логических операторов закоротить, в С или C ++? Я смущен, потому что я помню книгу K&R, в которой говорилось, что ваш код не должен зависеть от короткого замыкания этих операций, поскольку они могут и не быть. Может ли кто-нибудь указать, где в стандарте сказано,...

138
Есть ли причина, по которой && и || перегружены? не закорачивайте?

Короткое замыкание поведение операторов &&и ||удивительный инструмент для программистов. Но почему они теряют это поведение при перегрузке? Я понимаю, что операторы - это просто синтаксический сахар для функций, но операторы для boolимеют такое поведение, почему оно должно быть ограничено...

109
Тернарный оператор в Java, начиная с Java 7, оценивает только одно выражение - отличалось ли это в Java 1.6 и ниже?

Готовясь к экзамену Oracle Certified Associate Java SE 8 Programmer 1, я наткнулся на следующий абзац о троичном выражении в официальном учебном руководстве: Оценка тернарного выражения Начиная с Java 7, только одно из правых выражений тернарного оператора будет вычисляться во время выполнения....

90
оператор if - оценка короткого замыкания vs удобочитаемость

Иногда ifоператор может быть довольно сложным или длинным, поэтому для удобства чтения лучше извлекать сложные вызовы перед оператором if. например, это: if (SomeComplicatedFunctionCall() || OtherComplicatedFunctionCall()) { // do stuff } в это bool b1 = SomeComplicatedFunctionCall(); bool b2 =...

84
У короткозамкнутых операторов || и && существуют для логических значений, допускающих значение NULL? RuntimeBinder иногда так думает

Я прочитал спецификацию языка C #, посвященную условным логическим операторам || и &&, также известным как логические операторы короткого замыкания. Мне казалось неясным, существуют ли они для логических значений, допускающих значение NULL, то есть типа операнда Nullable<bool>(также...

83
Почему в Java нет составных версий присваивания для операторов условного и и условного или? (&& =, || =)

Так что для бинарных операторов в булевых, Java имеет &, |, ^, &&и ||. Кратко подведем итоги того, чем они занимаются: JLS 15.22.2 Булевы логические операторы &, ^ и | JLS 15.23 Оператор условного И && JLS 15.24 Оператор условного ИЛИ || Для &результирующее значение...