Вопросы с тегом «operator-precedence»

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


10
'AND' vs '&&' как оператор
У меня есть кодовая база, где разработчики решили использовать ANDи ORвместо &&и ||. Я знаю, что есть различие в приоритетах операторов ( &&идет раньше and), но с данной структурой ( если быть точным, PrestaShop ) это явно не причина. Какую версию вы используете? Это andболее читабельно, чем &&? Или нет …


4
Приоритет оператора логики SQL: и и или
Два утверждения ниже эквивалентны? SELECT [...] FROM [...] WHERE some_col in (1,2,3,4,5) AND some_other_expr и SELECT [...] FROM [...] WHERE some_col in (1,2,3) or some_col in (4,5) AND some_other_expr Есть ли какая-то таблица истинности, которую я мог бы использовать, чтобы проверить это?

1
Почему (1 в [1,0] == True) оценивается как False?
Когда я смотрел на ответы на этот вопрос , я обнаружил, что не понимаю свой собственный ответ. Я не очень понимаю, как это анализируется. Почему второй пример возвращает False? >>> 1 in [1,0] # This is expected True >>> 1 in [1,0] == True # This is strange False >>> …

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

5
Почему тернарный оператор с запятыми оценивает только одно выражение в истинном случае?
В настоящее время я изучаю C ++ с помощью книги C ++ Primer, и одно из упражнений в книге: Объясните, что делает следующее выражение: someValue ? ++x, ++y : --x, --y Что мы знаем? Мы знаем, что тернарный оператор имеет более высокий приоритет, чем оператор запятой. С бинарными операторами это …


7
Приоритет оператора с тернарным оператором Javascript
Я не могу осмыслить первую часть этого кода (+ =) в сочетании с тернарным оператором. h.className += h.className ? ' error' : 'error' Я думаю, что этот код работает следующим образом: h.className = h.className + h.className ? ' error' : 'error' Но это неверно, потому что это дает ошибку в …

7
Обеспечение порядка операторов в C ++
Предположим, у меня есть ряд операторов, которые я хочу выполнить в фиксированном порядке. Я хочу использовать g ++ с уровнем оптимизации 2, чтобы некоторые операторы можно было переупорядочить. Какие инструменты нужны, чтобы обеспечить определенный порядок высказываний? Рассмотрим следующий пример. using Clock = std::chrono::high_resolution_clock; auto t1 = Clock::now(); // Statement 1 …


3
Странная проблема с работой в SQL Server: -100 / -100 * 10 = 0
Если выполнить, SELECT -100/-100*10результат будет 0. Если выполнить, SELECT (-100/-100)*10результат будет 10. Если выполнить, SELECT -100/(-100*10)результат будет 0. Если выполнить, SELECT 100/100*10результат будет 10. BOL заявляет: Если два оператора в выражении имеют одинаковый уровень приоритета, они оцениваются слева направо в зависимости от их положения в выражении. И Level Operators 1 …


2
Имеет ли этот код из раздела 36.3.6 4-го издания «Язык программирования C ++» четко определенное поведение?
В разделе « Операции, подобные STL» Бьярна Страуструпа The C ++ Programming Language 4th edition, в качестве примера цепочки используется следующий код :36.3.6 void f2() { std::string s = "but I have heard it works even if you don't believe in it" ; s.replace(0, 4, "" ).replace( s.find( "even" ), …

1
Операции приоритета и битовой маски
Я столкнулся с (казалось бы) очень странным случаем. Возьмите число 2 ( 0b10) и замаскируйте его с помощью 1 ( 0b01) Это должно произвести 0b00что эквивалентно 0. Однако здесь появляется г-н Шредингер: var_dump(0b10 & 0b01); // int(0) var_dump(0b10 & 0b01 == 0); // int(0) var_dump(0b10 & 0b01 != 0); // …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.