Вопросы с тегом 'order-of-evaluation'

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

a + = a ++ * a ++ * a ++ в Java. Как он оценивается?

Я столкнулся с этой проблемой на этом веб-сайте и попробовал ее в Eclipse, но не мог понять, как именно они оцениваются. int x = 3, y = 7, z = 4; x += x++ * x++ * x++; // gives x = 63 System.out.println(x); y = y * y++; System...
задан 14 нояб. '12 в 0:46
2
ответов

Mathematica - почему TreeForm [Unevaluated [4 ^ 5]] оценивает 4 ^ 5?

Если я дам Mathematica вход TreeForm[Unevaluated[4^5]] Я ожидаю увидеть три коробки - мощность, 4 и 5. Вместо этого я вижу одно окно с 1024. Может ли кто-нибудь объяснить?
задан 20 апр. '11 в 0:03
2
ответов

Является ли этот код четко определенным?

Я подозреваю, что следующая цепочка функций приведет к неуказанной последовательности в соответствии со стандартами С++ (предположим, С++ 0x). Просто хочу подтверждение, и если кто-нибудь может дать объяснение, я был бы признателен. #include <ios...
задан 14 июля '11 в 4:03
4
ответов

Неоценимая форма [[i]]

Рассмотрим следующий простой иллюстративный пример cf = Block[{a, x, degree = 3}, With[{expr = Product[x - a[[i]], {i, degree}]}, Compile[{{x, _Real, 0}, {a, _Real, 1}}, expr] ] ] Это один из возможных способов передачи кода в тело опера...
задан 05 янв. '12 в 14:24
1
ответ

Порядок оценки в emacs lisp

Я пытаюсь написать некоторый мой первый код в emacs lisp, и я не могу понять следующее поведение (defun sq (x) (* x x)) (member 9 '(1 2 3 4 (sq 3))) Это оценивается как nil, но ожидаемое значение я было (9) Теперь я предполагаю, что * emacs l...
задан 25 июня '12 в 21:21
2
ответов

Почему порядок оценки отличается для Коллекций, чем для других типов, используя условный оператор

При попытке реализовать переопределение GetHashCode аналогично предложению Jon Skeet в Каков наилучший алгоритм для переопределенного System.Object.GetHashCode? Я заметил некоторое нечетное поведение в порядок оценки, который вызывает синтаксическую ...
задан 22 дек. '13 в 16:33
0
ответов

Существуют ли новые гарантии относительно оценки аргументов функции в С++ 17?

В своем разговоре о CppCon 2014 года ведущий Jon Kalb показывает следующий вызов функции: FooBar( smart_ptr<Foo>( new Foo( f ) ), smart_ptr<Bar>( new Bar( b ) ) ); Под заголовком "Умный указатель" Gotcha "он заключает, что эт...
задан 28 сент. '17 в 17:35
1
ответ

Порядок выполнения в присвоении переменной SQL Server с использованием SELECT

В следующем примере: declare @i int select @i = 1, @i = 2 select @i Будет ли @i всегда быть 2? Это о самом тривиальном примере, о котором я могу думать, но я рассматриваю его использование для обмена значениями в переменных. Я также считаю, что ...
задан 14 февр. '13 в 23:58
5
ответов

Как работают операторы С++

Учитывая, что x = 2, y = 1 и z = 0, что отобразит следующий оператор? printf("answer = %d\n", (x || !y && z)); Это было на викторине, и я понял, что неправильно, я не помню, как мой профессор покрыл это, кто-то просветил меня, пожалуйста.....
задан 28 сент. '10 в 6:10
7
ответов

Функция передачи аргументов в обратном порядке

Вот моя функция: void abc(char *def, unsigned int w, unsigned int x, unsigned int y, unsigned int z) { printf("val 1 : %d\n", w); printf("val 2 : %d\n", x); printf("val 3 : %d\n", y); printf("val 4 : %d\n", z); } и здесь я вызываю эт...
задан 02 окт. '10 в 8:57
3
ответов

Порядок оценки именованных параметров

Возможный дубликат: Являются ли параметры, оцениваемые по порядку при передаче в метод? Скажем, у меня void foo (int x, int y) и назовите его: foo(y: genNum(), x: genNum()) Гарантирует ли С# порядок оценки x и y в этом случае?
задан 27 авг. '12 в 22:26
1
ответ

Является ли утверждение if гарантированным не оцениваться больше, чем необходимо?

Учитывая два условия с соединением &&. Я знаю, что порядок оценки - слева направо. Но если первое условие разрешает false, то второе условие гарантировано не оценивается? #define SIZE bool array[SIZE]; int index; // play with variables // ...
задан 21 мая '13 в 12:07
1
ответ

Как разобрать этот тип выражений?

У меня нет фона компиляторов, поэтому я не уверен, что это сообщение в этой области. Существуют ли стандартные методы для анализа таких выражений? (Скажем, вкладка указывает глубину) And A + B = 1 C + D = 1 Or P + Q = 1 K =...
задан 29 июля '13 в 21:42
2
ответов

Гарантирован ли порядок оценки Java в этом случае вызова метода и аргументов, переданных в

Я прочитал JLS 15.7.4 и 15.12.4.2, но это не так, t гарантировать, что не будет компилятора/оптимизации времени выполнения, который изменит порядок, в котором оцениваются аргументы метода. Предположим, что следующий код: public static void main (...
задан 12 авг. '13 в 9:59
2
ответов

С++ порядок оценки между инициализатором с равным или равным значением и списком инициализации?

Если у меня есть эта структура, struct AAA { AAA() : bbb(2) { // ccc ??? } int bbb = 1; int ccc = bbb; }; AFAIK, если есть список инициализации :bbb(2), выражение bbb = 1 будет проигнорировано. И затем, это неопредел...
задан 30 нояб. '13 в 20:42