2013-08-15 11 views
15

Ive quasi programmato solo in obiettivo-c, per un paio di mesi fa ho programmato un po 'in box2d e ho detto questo "->". Ora, cosa significa? non può essere oggettivo-c deve essere di C++ perché box2d è C++, una volta ho visto qualcuno che lo usava nel codice dell'obiettivo-c e non riuscivo a capire cosa facesse. Google non supporta i caratteri non di testo, quindi è impossibile per me farlo su Google poiché non so cosa sia.Cosa significa "->"?

+3

Probabilmente si può immaginare si tratta di un operatore. Questo dovrebbe essere sufficiente per trovare informazioni su di esso. – chris

+3

"Google non supporta i caratteri non di testo, quindi è impossibile per me farlo su Google poiché non so cosa sia." - Ma è un operatore, e se hai un po 'di immaginazione, puoi dedurre che si tratta di una [freccia] (http://google.com/search?q=arrow+operator+c). Se non hai immaginazione, questo è [ancora non un problema] (https://www.google.com/search?q=dash+greater+than+operator+c) - i personaggi con questo simbolo sono composti da avere nomi inglesi corretti come "trattino" e "parentesi angolare" o "maggiore di". –

+0

No, il simbolo è stato ereditato da C in Objective-C e C++, con lo stesso significato in tutti e tre (se leggermente espanso in C++, dove può essere sovraccaricato). – molbdnilo

risposta

25

L'operatore -> è una scorciatoia per il deferencing e quindi l'accesso a un membro.

Dato

type *a; 

(*a).b è equivalente a a->b

Maggiori informazioni qui, en.wikipedia.org/wiki