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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章