【发布时间】:2017-03-10 13:44:53
【问题描述】:
因为我目前正在学习 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
非常感谢!
【问题讨论】:
-
所以这不是 C.
-
你研究过
->是什么意思吗? -
你可能想退后一步,find a good book。
-
在我看来你没有注意到“。”和 "->' 是不同的运算符。
-
var->Foo() 是 (*var).Foo()