改变指针指向的值
Changing values pointed to by pointers
我有以下代码:
class Person {
public:
int age;
string name;
};
int main() {
Person ben;
ben.age = 30;
ben.name = "Ben";
Person * ptrBen = &ben;
return 0;
}
例如,如果我想将 ben
对象的 age
变量中存储的值更改为 35
,我可以这样写 main()
:
ptrBen->age = 35;
这个和下面有区别吗?:
(*ptrBen).age = 35;
当ptrBen
是指针时,ptrBen->age = 35;
和(*ptrBen).age = 35;
没有任何区别。他们做同样的事情。
不,没有区别。 ptrBen->age = 35;
可能更具可读性。
我有以下代码:
class Person {
public:
int age;
string name;
};
int main() {
Person ben;
ben.age = 30;
ben.name = "Ben";
Person * ptrBen = &ben;
return 0;
}
例如,如果我想将 ben
对象的 age
变量中存储的值更改为 35
,我可以这样写 main()
:
ptrBen->age = 35;
这个和下面有区别吗?:
(*ptrBen).age = 35;
当ptrBen
是指针时,ptrBen->age = 35;
和(*ptrBen).age = 35;
没有任何区别。他们做同样的事情。
不,没有区别。 ptrBen->age = 35;
可能更具可读性。