Почему указатель на объект класса не нужно разыменовывать при обращении к полям, а обычный нужно для доступа к переменной?

b n(9);// создаю объект класса
b* m = &n;
cout << m->y;// выдаст 9
int j = 0;
int* g = &j;
cout << *g;

Ответы (2 шт):

Автор решения: gbg

Оператор стрелка как раз и осуществляет разыменование.

→ Ссылка
Автор решения: nyekitka

Оператор стрелки - это синтаксический сахар, т.е. вещь, которая упрощает жизнь программисту. По сути, когда вы пишете m->y, вы пишете (*m).y, т.е. сначала разыменовываете указатель, а затем обращаетесь к полю объекта.

→ Ссылка