Интерпретация имени класса и оператора косвенности в скобках в C ++ - PullRequest
0 голосов
/ 20 февраля 2020

Я читаю некоторый код на С ++ и меня немного смущает правильная интерпретация операторов косвенного обращения в скобках. Например, в строке

b = ((aclass*)a)-> b

я не могу быстро прочитать ту часть (aclass*), которая является оператором косвенного обращения в скобках. Зачем нужны круглые скобки и какую неопределенность они решают?

Я склонен интерпретировать вышеприведенное как инструкцию для определения b в текущей области видимости, присваивая ему значение одноименного члена aclass - Тип объекта, на который ссылается указатель a. То есть что-то вроде

b = (aclass *a)->b

Аналогично, в другом месте есть конструкция:

const aclass *a = (aclass*) b

Интересно, неправильно ли я интерпретирую операторы и их приоритет, или я мог бы обойтись без эти скобки.


Я посмотрел на Когда дополнительные скобки оказывают влияние, кроме как на приоритет оператора? , но для меня звучит слишком технически, чтобы заметить подсказку .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...