【问题标题】:Changing values pointed to by pointers更改指针指向的值
【发布时间】:2020-03-12 12:56:45
【问题描述】:

我有以下代码:

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;

【问题讨论】:

标签: c++ pointers dereference


【解决方案1】:

ptrBen 是一个指针时,ptrBen->age = 35;(*ptrBen).age = 35; 之间没有任何区别。他们做同样的事情。

【讨论】:

    【解决方案2】:

    不,没有区别。 ptrBen->age = 35; 可能更具可读性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-19
      • 1970-01-01
      • 1970-01-01
      • 2019-05-15
      • 1970-01-01
      • 2021-12-29
      • 2011-08-04
      相关资源
      最近更新 更多