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

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

815
Почему эти конструкции используют неопределенное поведение до и после приращения?

#include <stdio.h> int main(void) { int i = 0; i = i++ + ++i; printf("%d\n", i); // 3 i = 1; i = (i++); printf("%d\n", i); // 2 Should be 1, no ? volatile int u = 0; u = u++ + ++u; printf("%d\n", u); // 1 u = 1; u = (u++); printf("%d\n", u); // 2 Should also be one, no ? register int v = 0; v...

298
'AND' vs '&&' как оператор

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

207
Почему x == (x = y) не совпадает с (x = y) == x?

Рассмотрим следующий пример: class Quirky { public static void main(String[] args) { int x = 1; int y = 3; System.out.println(x == (x = y)); // false x = 1; // reset System.out.println((x = y) == x); // true } } Я не уверен, есть ли в Спецификации языка Java элемент, который диктует загрузку...

179
Приоритет оператора логики 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 Есть ли какая-то таблица истинности, которую я мог бы использовать, чтобы проверить...

153
Почему (1 в [1,0] == True) оценивается как False?

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

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

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

119
Почему тернарный оператор с запятыми оценивает только одно выражение в истинном случае?

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

116
Приоритет оператора с тернарным оператором Javascript

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

111
Обеспечение порядка операторов в C ++

Предположим, у меня есть ряд операторов, которые я хочу выполнить в фиксированном порядке. Я хочу использовать g ++ с уровнем оптимизации 2, чтобы некоторые операторы можно было переупорядочить. Какие инструменты нужны, чтобы обеспечить определенный порядок высказываний? Рассмотрим следующий...

106
Странная проблема с работой в 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 заявляет: Если два оператора в выражении имеют одинаковый уровень...

94
Имеет ли этот код из раздела 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" ),...

94
Операции приоритета и битовой маски

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

86
Каковы правила порядка оценки в Java?

Я читаю текст Java и получаю следующий код: int[] a = {4,4}; int b = 1; a[b] = b = 0; В тексте автор не дал четкого объяснения, и эффект последней строки таков: a[1] = 0; Не уверен, что понимаю: как прошла оценка?...

84
В каком порядке C # для каждого цикла перебирает List <T>?

Мне было интересно узнать, в каком порядке цикл foreach в C # проходит через System.Collections.Generic.List<T>объект. Я нашел еще один вопрос по той же теме, но не думаю, что он удовлетворит меня ответом на мой вопрос. Кто-то заявляет, что порядок не определен. Но, как утверждает кто-то...

83
Другое поведение оператора запятой в с ++ с возвратом?

Это (обратите внимание на оператор запятой ): #include <iostream> int main() { int x; x = 2, 3; std::cout << x << "\n"; return 0; } выходы 2 . Однако, если вы используете returnоператор запятой, это: #include <iostream> int f() { return 2, 3; } int main() { int x; x = f();...

18
Стрелка (->) приоритет оператора / приоритет самый низкий, или приоритет назначения / комбинированное назначение самый низкий?

JLS : Оператор с наименьшим приоритетом - стрелка лямбда-выражения (->) , за которой следуют операторы присваивания. В каком направлении следовали (увеличение приоритета, уменьшение приоритета)? - «сопровождается» означает, что присвоение имеет более высокий или более низкий приоритет (по...