C++中箭头“->”和“.”的区别

1、在结构体中

对于一个结构:

struct MyStruct
{
int Member_A;
};

如果有个变量MyStruct S,那么使用其中的成员元素时可以用:

S.Member_A = 1;

如果采用指针方法访问,比如MyStruct * PtrS,那么同样的访问就必须使用如下形式:

(*PtrS).Member_A = 1;

或者

PtrS->member_a = 1;

二、c++中当定义类对象是指针对象

也需要用到->指向类中的成员;定义一般对象时候时需要用到"."指向类中的成员。

例如:

class A
{
public:
      play();
}

如果定义如下:

A *p    则使用:p->play(); 左边是结构指针。

A p      则使用:p.paly(); 左边是结构变量。

总结:

箭头(->):左边必须为指针;

点号(.):左边必须为实体。



原文参考:https://blog.csdn.net/gyymen/article/details/4962873
 

猜你喜欢

转载自blog.csdn.net/huachizi/article/details/89452517