Учитывая следующее:
&row->count
Будет ли вычисляться & (row-> count) или (& row) -> count будет оцениваться в C ++?
РЕДАКТИРОВАТЬ: Вот отличная ссылка для приоритета C ++.
Что касается правил старшинства, мне всегда нравилось то, что выдвинул Стив Уоллин в «Практическом С»:
В пятнадцати правилах предшествования C (&& предшествует раньше, чем || ? :). Практичный программист уменьшает это к двум: 1) Умножение и деление приходят до сложения и вычитания. 2) Поставьте круглые скобки вокруг всего еще.
В пятнадцати правилах предшествования C (&& предшествует раньше, чем || ? :). Практичный программист уменьшает это к двум:
1) Умножение и деление приходят до сложения и вычитания.
2) Поставьте круглые скобки вокруг всего еще.
& (row-> счет)
Могу ли я предложить вам решить такие вопросы с помощью тестовой программы? Это имеет то преимущество, что вы точно будете знать, что ответ верен для вашей реализации, и вы не подвержены риску неправильных ответов.
C оператор приоритет объясняется здесь
Согласно таблице, -> имеет более высокий приоритет, чем оператор &, поэтому это & (row-> count)
Это уже спрашивается. Но здесь является ссылкой.
Edit: Хорошо этот вопрос очень похож. И, возможно, есть другой.
-> имеет более высокий приоритет, чем & (адрес). Таким образом, ваше выражение будет оценено как & (row-> count)