Вопрос

Учитывая следующее:

&row->count

Будет ли оцениваться &(row->count) или (&row)->count в C++?

РЕДАКТИРОВАТЬ:Вот отличный связь для приоритета C++.

Это было полезно?

Другие советы

Что касается правил приоритета, мне всегда нравилось правило, предложенное Стивом Уаллином в «Практическом C»:

В C существует правила приоритета пятнадцати приоритетов (&& приходит раньше ||Практический программист уменьшает их до двух:

1) Умножение и деление приходят перед добавлением и вычитанием.

2) Поместите скобки вокруг всего остального.

Об этом уже спрашивали.Но здесь это ссылка.

Редактировать:Хорошо этот вопрос очень похож.И, возможно, есть еще один.

Могу ли я предложить вам решить подобные вопросы с помощью тестовой программы?Преимущество этого заключается в том, что вы будете точно знать, что ответ правильный для вашей реализации, и вы не подвергаетесь риску получения неправильного ответа на вопросы.

Объяснение приоритета операторов C здесь

Согласно таблице, -> имеет более высокий приоритет, чем оператор &, поэтому это &(row->count).

&(строка->количество)

-> имеет более высокий приоритет, чем & (адрес).Таким образом, ваше выражение будет оценено как &(row->count)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top