gpt4 book ai didi

c++ - 对象和变量上的指针 C++

转载 作者:搜寻专家 更新时间:2023-10-30 23:52:57 24 4
gpt4 key购买 nike

因为我目前正在学习 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com