【C++ 基礎語法 #3】C++ class 使用「-> (pointer)」、「. (dot)」呼叫成員變數比較整理,不想要再搞不懂了!!!

前言

在 C++ 呼叫成員變數時,我們在網路上常見會看到兩種使用方法,
一種是使用「->」、一種是使用「.」,
有時候混淆起來導致我們撰寫程式常常跳錯,真的很困擾,
為此我們就來搞清楚這一點吧!!!

先講結論

如果你想要無腦用的話,
那就看到宣告為指標的 class instance 就使用 「->」!
不是宣告為指標的 class instance 就使用「.」!

還是要講一下細節

  • 「.」:是「物件」呼叫成員的方法
  • 「->」:是「指標物件」呼叫成員的方法

真的要理解上,以下兩個是同樣意思的

「a->b」=「(*a).b」

使用上因為我們通常在宣告時就已經有宣告是指標了,
所以使用「->」能提供給我們更多的便利。

簡單的範例

A obj_A;
obj_A.a_public = 2; 

A* ptr_A; // 宣告為指標的 instance
ptr_A->a_public = 2; 
// 同義於 (*ptr_A).a_public = 2;

Reference