由于我目前正在学习C++的指针,因此我想知道语法。因此,当我想在对象上使用指针时,不必为了访问类属性而取消引用它。当我只想在简单变量上使用指针时,必须使用*更改其值。
那么为什么我不必为对象使用*?因为这样,我想我只是更改内存地址。
目的:
int age = 20;
User John(age);
User *ptrUser = &John;
ptrUser->printAge(); // 20 (why no *ptrUser->printAge() ??? )
cout << ptrUser // 0x123456...
变量:
int a = 10;
int *ptrA = &a;
*ptrA = 20;
cout << a // 20
非常感谢你!
最佳答案
您必须取消引用指针,->
运算符只是用于取消引用和成员访问的语法糖:
代替
ptrUser->printAge();
你可以写
(*ptrUser).printAge();
关于c++ - 关于对象和变量的指针c++,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42719855/