Вопросы по теме 'operator-precedence'
C # определить макросы
Вот что у меня есть, и мне интересно, как это работает и что на самом деле делает.
#define NUM 5
#define FTIMES(x)(x*5)
int main(void) {
int j = 1;
printf("%d %d\n", FTIMES(j+5), FTIMES((j+5)));
}
Он производит два целых числа: 26 и...
905 просмотров
schedule
11.03.2022
Что хорошего в правоассоциативных методах в Scala?
Я только начал экспериментировать со Scala и узнал, как можно сделать методы правоассоциативными (в отличие от более традиционной левоассоциативности , характерной для императивных методов). объектно-ориентированные языки).
Сначала, когда я...
9337 просмотров
schedule
03.02.2023
Порядок выполнения параметров гарантирует в Java?
Учитывая следующий вызов функции в C :
fooFunc( barFunc(), bazFunc() );
Порядок выполнения barFunc и BazFunc не указан, поэтому barFunc() может вызываться перед bazFunc() или bazFunc() перед barFunc() в C .
Определяет ли...
13226 просмотров
schedule
03.03.2023
x = ++x это действительно не определено?
Я использую Coverity Prevent в проекте для поиска ошибок.
Он сообщает об ошибке для этого выражения (имена переменных, конечно, изменены):
x=
(a>= b) ?
++x: 0;
Сообщение:
Дефект EVALUATION_ORDER: в " x=(a>= b) ? ++x:...
2618 просмотров
schedule
23.08.2022
Почему ++x || ++y && ++z сначала вычисляет ++x, хотя оператор && имеет более высокий приоритет, чем ||
Почему ++x || ++y && ++z сначала вычисляет ++x , хотя приоритет оператора && выше, чем || ?
6445 просмотров
schedule
06.03.2024
Возможная проблема при обмене значениями двух переменных без использования третьей переменной
Недавно я придумал этот метод обмена значениями двух переменных без использования третьей переменной.
a^=b^=a^=b
Но когда я попробовал приведенный выше код на разных компиляторах, я получил разные результаты, некоторые дали правильные...
4968 просмотров
schedule
21.02.2022
Порядок выполнения в списке инициализации конструктора
Можно ли определить порядок выполнения в списке инициализации конструктора? Я знаю, что порядок членов в классе - это порядок, в котором эти члены будут инициализированы, но если у меня есть такой сценарий:
class X()
{
X_Implementation* impl_;
};...
15489 просмотров
schedule
29.03.2022
Int i = x++, j = x++; законно?
По-моему, в названии все ясно. Я не совсем уверен в этом, и я не могу найти хороший ответ через Googles (увы, я не приверженец изобразительного искусства стандартов-фу), поэтому я спрашиваю:
int i = x++, j = x++;
Это определено? Я...
441 просмотров
schedule
10.03.2024
Пост/предварительные приращения в 'printf'
Возможные дубликаты: Вывод нескольких постов и предварительных приращений в одном операторе Постинкремент и преинкремент в цикле for
Следующий фрагмент кода
int i=0;
printf("%d %d",i++,i++);
дает результат
1 0
Я могу...
5573 просмотров
schedule
02.07.2023
Приоритет оператора в определениях C
Википедия утверждает, что оператор [] предшествует оператору * при вычислении.
Тогда почему следующее утверждение:
char *a[3];
объявить массив из 3-символьных указателей, а не указатель на массив из 3-х символов в соответствии с...
1161 просмотров
schedule
14.09.2023
Приоритет оператора.. () и ++
Салют..
У меня необычная проблема. Здесь, в этой таблице в библиотеке MSDN мы видим, что приоритет () выше, чем ++ (Pre-increment) . но когда я запускаю этот код, кажется, что приоритет ++(prefex) выше:
int main()
{
int a=3,b=2,x;...
1297 просмотров
schedule
13.01.2023
Вопрос о приоритете + модификатор повторения
Не могли бы вы объяснить мне это очевидно непоследовательное поведение:
use strict;
my @a;
print "a" x 2; # this prints: aa
@a = "a" x 2; print @a; # this prints: aa
print ("a") x 2; # this prints: a
@a = ("a") x 2; print @a; # this prints:...
263 просмотров
schedule
14.02.2022
почему *p++ = *p - a дает странные результаты?
При работе с большими массивами я выполняю небезопасные вычисления указателя, например:
*c++ = *a++ - *b++;
Он работает так, как ожидалось. Но для операций на месте мне также нужен указатель c справа:
[STAThread]
unsafe static void...
992 просмотров
schedule
12.05.2022
пользовательский шаблон для текстового поля, который не ведет себя так, как я хочу, на IsEnabled = false
моя проблема немного похожа на эту: Возникла проблема с моим TextBox шаблон управления
но я хотел бы пойти немного дальше:
моя проблема проста: у меня есть шаблонные элементы управления (метки, текстовые поля, флажки и т. д.). Каждый элемент...
2902 просмотров
schedule
30.03.2022
Комбинаторы парсеров Scala, парсеры не работают из-за приоритета
Я пытаюсь написать интерпретатор для языка программирования Icon. Одним из шагов в этом процессе является написание синтаксического анализатора для Icon, который я сделал следующим образом:
import java.io.FileReader
import...
1235 просмотров
schedule
10.04.2023
Почему не заказан словарь?
Я прочитал это в ответ на многие вопросы здесь. Но что именно это означает?
var test = new Dictionary<int, string>();
test.Add(0, "zero");
test.Add(1, "one");
test.Add(2, "two");
test.Add(3, "three");
Assert(test.ElementAt(2).Value ==...
12235 просмотров
schedule
07.08.2022
Этот код хорошо определен?
Я подозреваю, что следующая цепочка функций приведет к неопределенной последовательности в соответствии со стандартами C++ (предположим, что C++0x). Просто хочу подтверждение, и если кто-нибудь может дать объяснение, я был бы признателен....
221 просмотров
schedule
10.10.2022
c++, вычисление выражений с несколькими символами `&&` и без оператора более низкого приоритета
Если выражение оценивает несколько операторов && и не оценивает никаких операторов более низкого приоритета (например, || , ?: ), будет ли выражение оцениваться как 0, как только один из && вернет 0, или оно завершит вычисление...
1996 просмотров
schedule
29.09.2022
Приоритет оператора в C
Возможный дубликат: почему ++х || ++y && ++z сначала вычислить ++x ? однако оператор && выше, чем ||
Следующая программа работает не так, как ожидалось. «&&» должен иметь более высокий приоритет, чем «||», поэтому фактический вывод...
243 просмотров
schedule
21.11.2023
Сравнение реализаций парсера: подтверждение корректности и (возможно) оптимизация
Я реализовал два синтаксических анализатора выражений с рекурсивным спуском и приоритетом операторов. Они реализованы в Object Pascal. Вот рекурсивный спуск:
function ParseFactor: PNode;
var
Temp: PNode;
begin
Result := ParsePrimary;
if...
119 просмотров
schedule
11.03.2023