C++中运算符.和->的区别

符号.->的作用和区别:

.(点)运算符和->(箭头)运算符用于引用类、结构和共用体的成员: 点运算符应用于实际的对象。箭头运算符与一个指向对象的指针一起使用。

  • A.B则A为对象或者结构体;
    点号(.):左边必须为实体
  • A->B则A为指针,->是成员提取,A->B是提取A中的成员B,A只能是指向类、结构、联合的指针;
    箭头(->):左边必须为指针
class A
{
public:
    int a = 0;
};
int main()
{
    A b;
    A *p = &b;
    b.a; //类类型的对象访问类的成员
    p->a; //类类型的指针访问类的成员
}

在 C++ 中,每一个对象都能通过 this 指针来访问自己的地址。this 指针是所有成员函数的隐含参数。因此,在成员函数内部,它可以用来指向调用对象。

参考

https://zhuanlan.zhihu.com/p/165992745
https://www.runoob.com/note/28432

posted @ 2023-01-28 10:37  听雨画船眠  阅读(203)  评论(0编辑  收藏  举报