C 點和箭頭操作符的區別

2021-06-21 05:12:37 字數 745 閱讀 3312

在c++中物件可以通過「.」來呼叫該物件的成員變數。p.func()

如果是指標的話,就不能通過「.」來呼叫,而只能使用「->」來呼叫。p->func()

這種情況的出現是因為使用了結構,對乙個結構來說,

struct mystruct

;如果定義變數

mystruct s,那麼使用其中的成員元素時可以用

s.member = 1;

如果採用指標方法訪問,

mystruct *ps,那麼同樣的訪問必須使用,

(*ps).member = 1;或者 

ps->member = 1

另一例:

struct candybar ;

在程式中

candybar snack = ;

我們可以用snack.weight來取結構中的值。

如下情況可以使用「->」

candybar *bird;

bird->weight = 2.23;

c++中定義類物件是指標物件的時候,需要用到"->"指向類中的成員;當定義一般物件的時候,需要用到"."指向類中的成員。

class a

如果定義如下:

a *pa則:p->play(),左邊是結構指標。

a a則:p.play(),左邊是結構變數。

c 中箭頭操作符 和點操作符 的不同

乙個左邊是指標.乙個左邊是實體 如果p是指標,p function 如果p是物件,p.function 記住 必須是指標,左邊必須是物件或者結構體,一般是類物件 首先介紹一下c 中的結構。對於乙個結構來說,struct mystruct 如果有個變數mystruct s,那麼使用其中的成員元素時可以...

關於C C 中的點操作符和箭頭操作符

ps 話說以前竟然一直沒有關注到這個問題啊。不應該啊。今天查了點資料,加上自己寫code的體會,說下一下,作為記錄吧。先概括一下 點操作符 用來引用普通物件。箭頭操作符 用來引用指標物件。舉例子說明一下 比如,我有乙個物件darkray。那麼我可以通過 來呼叫darkray類中中的成員變數。但是如果...

C 箭頭 點號 雙冒號 操作符區別

首先介紹一下c 中的結構。對於乙個結構來說,如果有個變數mystruct s,那麼使用其中的成員元素時可以用 s.member a 1 如果採用指標方法訪問,比如mystruct ps,那麼同樣的訪問必須用箭頭號 ps member a 1 只用在類成員函式和類成員變數中。比如,宣告乙個類 clas...