前言
在 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;