2013-07-10 138 views
-3

有人能解釋一下 - >運算符在C++中做什麼?下面C++運算符 - >

實施例:

struct X{ int a[sz];} 

void print(X* x){ 
for(int i =0; i<sz; i++){ 
    cout << x->a[i] << ' '; // -> is like dereference?? 

我的猜測是,它分配i的陣列的索引與該x被指向的對象的值。

+1

您可以查看優先表並按名稱搜索。在互聯網和任何敢於自稱的C++書籍中有很多很多的解釋,並且在這裏被問過很多次。 – chris

+0

沒有任務正在進行。你應該閱讀一本介紹性的C++書籍。 – juanchopanza

回答

2

它是一個成員操作符,用於引用類,結構和聯合的個人成員。不像 '。'運算符在Java中,在C++中它只用於對象指針。

+0

我明白了,我來自Java背景,3天前纔開始使用C++。 所以 - >運算符被用作訪問java中類的成員的方法嗎?在java中,它會像SomeClass.intMember .... 在C++中它將是SomeClass-> intMember .... – SeekingAlpha

+0

@MarcoSusilo,在C++中'.'是用於對象,' - >'是用於指針。這只是一種語法糖。你可以將'ptr - > member'重寫爲'(* ptr).member'。 – soon

0

a是struct X的成員元素。 - > operator用於從指向結構的指針訪問成員。 我建議你拿起關於C/C++的好書並閱讀有關結構。