Другие языки программирования и технологии

Что означает в с++ ->? Допустим pv->d?

class MyClass
{
public:
int d;
};

int main()
{
MyClass v;
MyClass *pv = &v;
pv->d = 100;

return 0;
}

pv - это указатель на объект некоего класса, который имеет переменную-член d.
pv->d прямой доступ к этой переменной через указатель на объект класса.
v.d прямой доступ к этой переменной через объект класса.
АЖ
Азимбек Жуматов
21 360
Лучший ответ
Есть прямой доступ к переменной, когда мы по буквенному её обозначению к ней обращаемся (в ассемблере это либо именованный регистр, или именованная ячейка памяти) . Есть косвенный доступ, когда к ячейке памяти мы обращаемся через другую ячейку (регистр или ячейку памяти) - указатель, в которой хранится адрес ячейки. к которой мы хотим обратиться.
То же правило прямого и косвенного доступа существует и для объектов. Либо непосредственно от объекта вызывается функция-член (метод) или получается доступ к элементу объекта - через оператор ".", либо вызов этих функций происходит через указатель на объект - через оператор "->"
to SoVeR
вообще то pv это объект класса!

а -> это означает обращение по ссылке!
если ты создаешь не сам объект класса или структуры, а указатель на них, то к методам и параметрам ты должен обращаться по ссылке, то есть через ->
> а -> это означает обращение по ссылке!
Ебаный стыд. Это обращение по указателю.

object->Data
(*object).Data
Одно и то же.
это тоже самое что и в Паскале означает точка.
pv это класс или структура, а внутри него (неё) находится переменная d.
SS
Sadon Sergey
270
сделать космический лайнер
ИИ
Изу Изу
127