Quel est le nom officiel de l'opérateur c++arrow ( ->)?
Je l'appelle toujours "arrow operator", mais je suis sûr qu'il a un nom officiel. J'ai rapidement écrémé le standard C++ et je ne l'ai pas vu mentionné par son nom.
11 réponses
Bjarne Stroustrup l'appelle l'opérateur " déréférence du pointeur de structure "(TC++PL Special Edition, p. 102). Dans l'index, il le désigne comme l'opérateur "accès membre".
Je ne sais pas si c'est "officiel" mais le gars a écrit la langue, après tout.
Le nom officiel de cet opérateur est de membre de classe opérateur d'accès (voir 5.2.5). Bien que ce nom soit attaché aux opérateurs .
et ->
, ce qui signifie qu'il s'agit plutôt d'un nom de groupe. Le .
est aussi appelé l'opérateur de point et ->
comme flèche opérateur dans le texte standard.
Ajouté plus tard: ce qui précède s'applique à la norme c++. C standard se réfère à ->
comme opérateur de flèche dans l'Index seulement. Le texte principal du document ne semble pas utiliser de nom spécifique.
Selon la liste des opérateurs de Wikipedia en C et C++, elle s'appelle "membre par pointeur".
Mais pour être tout à fait honnête, je l'ai toujours appelé "arrow". Par exemple, si j'avais le code a->b
, je lirais cela comme "une flèche b".
Ces termes ne sont en aucun cas officiels, mais j'appellerais l'opérateur dot l'opérateur Direct (class) member access operator et l'opérateur arrow l'opérateur indirect (class) member access operator pour clarifier leur relation avec l'opérateur d'indirection.
L'index de la norme ISO / IEC 9899: 1999 (la norme C99) comporte trois entrées d'index pour' arrow operator '(à part entière, et sous ' union 'et' struct'), et se réfère à la section 6.5.2.3 (structure et membres de l'union, dans la section sur les opérateurs Postfix). Cependant, il n'y a aucune mention de "flèche" dans la section 6.5.2.3 ou nulle part ailleurs dans la norme que l'index (toute autre apparence de "flèche" fait partie de "étroite" ou d'une dérivée de étroite).
Flèche est donc semi-officiellement sanctionné dans la norme C (l'indice n'est pas normatif ou normatif, cependant).
Je l'ai entendu parler de plusieurs façons différentes, n'a jamais été sûr que l'un en particulier était plus officiel qu'un autre.
- Opérateur De Sélection Des Membres
- Opérateur De Déréférencement Du Pointeur
- "le truc de la flèche"
Et je suis sûr qu'il y en a d'autres. personnellement, je suis moins préoccupé par ce qu'il appelle dans un livre ou une spécification officielle et plus préoccupé par le fait que les gens savent ce que je veux dire quand je m'y réfère, donc à mon avis "arrow thingy" est le meilleur nom depuis c'est le plus facile de comprendre clairement ce à quoi il est fait référence.
Le C ISO standard appelle le->
opérateur ou , le membre d'accès->
opérateur. Donc, apparemment, il n'a pas de nom "officiel" en C.
Personnellement, je viens de dire pointeur ou flèche.
Il y avait une question récente concernant la façon dont l'opérateur est "prononcé" dans le contexte. Considérons l'opérateur de multiplication qui est prononcé "fois" dans le contexte.
Je considère les deux opérateurs d'accès membres {. - > } pour indiquer la possession donc je les prononce comme possessif sur l'objet.
Par exemple... fido - > collier() ...serait prononcé comme "collier de fido".
D'un autre côté, la possession n'est pas appropriée pour les verbes so... fido->exécuter() ...serait prononcé comme "fido court".