Lo chiamo sempre "operatore di freccia", ma sono sicuro che ha un nome ufficiale. Ho rapidamente sfogliato lo standard C++ e non l'ho visto menzionato per nome.qual è il nome ufficiale dell'operatore della freccia (->) del C++?
risposta
Lo standard C++ lo chiama "freccia" (§5.2.5).
Per prima cosa citato in 5.2.4, ma poi anche onnipresente con l'operatore punto. –
Secondo Wikipedia's list of operators in C and C++, è chiamato "membro per puntatore".
Ma per essere completamente onesto, l'ho sempre chiamato "freccia". Ad esempio, se avessi il codice a->b
, lo leggerò come "una freccia b".
L'ho letto allo stesso modo. Mi chiedo perché .... (P.S. TO TO!) –
Ho trovato l'articolo su wikipedia prima di pubblicare la domanda. Nonostante sia elencato sotto la colonna "nome" nella tabella, sono incline a credere che sia una descrizione, non un nome. – rmeador
Bjarne Stroustrup lo chiama operatore "struttura puntatore dereferenziazione" (TC++ PL Special Edition, p. 102). Nell'indice si riferisce ad esso come l'operatore "accesso membro".
Non so se questo è "ufficiale", ma il ragazzo ha scritto la lingua, dopo tutto.
Posso confermare che questo è il caso. (Sì, in realtà sono andato su The C++ Programming Language Special Edition e l'ho verificato.) –
non ha inventato C, ed è da lì che proviene l'operatore. – asveikau
asveikau, entrambe le affermazioni sono corrette, ma che cosa ha a che fare con la domanda? – John
Il nome ufficiale per questo operatore è operatore di accesso membro della classe (vedere 5.2.5). Sebbene questo nome sia collegato ad entrambi gli operatori .
e ->
, significa che si tratta più di un nome di gruppo. Lo .
è indicato anche come e ->
come operatore di punti come operatore di freccia nel testo standard.
Aggiunto in seguito: Quanto sopra si applica allo standard C++. Lo standard C si riferisce allo operatore di freccia nell'indice solo ->
nell'indice. Il testo principale del documento non sembra utilizzare alcun nome specifico.
L'ISO standard C definisce la ->
operatore o l'organo accesso->
operatore. Quindi a quanto pare non ha un nome "ufficiale" in C.
Personalmente, dico solo puntatore o freccia.
È solo il dit (cioè non il punto).
risoluzione del riferimento del puntatore
ho sentito si riferiva a un paio di modi diversi, non è mai stato sicuro che uno in particolare è stato più di un altro ufficiale.
- Selezione membri Operatore
- Pointer Dereferencing Operatore
- "la freccia thingy"
e sono sicuro che ce ne sono altri. personalmente sono meno preoccupato di ciò che è chiamato in un libro o in una versione ufficiale e più preoccupato che le persone sappiano cosa intendo quando mi riferisco ad esso, quindi secondo me "arrow thingy" è il nome migliore per questo dal momento che è il più facile per capire chiaramente a cosa viene fatto riferimento.
Questi termini non sono in alcun modo ufficiale, ma mi piacerebbe chiamare l'operatore punto l'accesso diretta (classe) membro dell'operatore e l'operatore freccia l'accesso indiretta (classe) membro operatore per chiarire il loro rapporto con il operatore indiretto.
L'indice ISO/IEC 9899: 1999 (lo standard C99) ha tre voci di indice per "operatore freccia" (a sé stante, e sotto "unione" e "struct") e fa riferimento alla sezione 6.5. 2.3 (Struttura e membri del sindacato, nella sezione sugli operatori di Postfix). Tuttavia, non vi è alcuna menzione di "freccia" nella sezione 6.5.2.3 o in qualsiasi altro punto della norma rispetto all'indice (ogni altra apparizione di "freccia" è come parte di "stretta" o una derivata di stretta).
La freccia è quindi sanzionata semi-ufficialmente nello standard C (sebbene l'indice non sia normativo o standard).
C'è stata una domanda recente su come l'operatore è "pronounced" nel contesto. Considerare l'operatore di moltiplicazione che è pronunciato "tempi" nel contesto.
Considero entrambi gli operatori di accesso membri {. ->} per indicare il possesso, quindi li pronuncio come possessivi sull'oggetto.
Ad esempio ... fido-> collare() ... sarebbe pronunciato come "colletto di fido".
D'altra parte il possesso non è appropriato per i verbi così ... fido-> run() ... sarebbe pronunciato come "fido corre".
Questo è fuori tema: l'OP ha chiesto quale sia stato chiamato il simbolo e una risposta che cita lo standard C++ è già stata fornita. Se c'era un'altra domanda riguardante la pronuncia dei simboli, dovresti commentare lì piuttosto che qui. – DMH
In una bozza C99, non riesco a trovare alcuna menzione del suo nome. Viene sempre chiamato "-> operatore" in quel documento. –
@Mehrdad: Il do lo chiama "operatore di freccia" nell'indice tramite – AnT
AndreyT: Nell'indice, posso vedere "Operatore freccia (->)" e "Operatore puntatore (->)" –