c/c++中点运算符“.“和箭头运算符“→“的区别

.->都是C++成员运算符,主要用于引用类、结构和共用体的成员。

  • A.B:A是对象或者结构体,B是A的成员
  • A->B:那么A为指针,->用于成员提取,提取A中的成员B即A->B,注意A只能是指向类、结构、联合的指针,A->B(*A).B

简记:.用于提取实际对象,->与指针对象的指针一起使用

例1:

struct pizza
{
	string name;
};


pizza * company = new pizza[3];


company[0]->name = "test1"; //编译报错
company[0].name = "test2"; //编译通过

例2:

class A
{
public:
	int a = 0;
};
int main()
{
	A b;
	A *p = &b;
	b.a; //类类型的对象访问类的成员
	p->a; //类类型的指针访问类的成员
}

参考文献:

  • https://blog.csdn.net/qq_40213457/article/details/80723899
  • https://www.zhihu.com/question/49164544
  • https://blog.csdn.net/u013719339/article/details/80611509
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章