Priorité des opérateurs C ++ & # 8220; & amp; & # 8221; et & # 8220; - > & # 8221;
-
03-07-2019 - |
Question
Étant donné ce qui suit:
&row->count
Le nombre de & amp; (row- >) sera-t-il évalué ou (& amp; row) - > sera-t-il évalué en C ++?
EDIT: voici un excellent lien pour la préséance C ++.
La solution
Autres conseils
En ce qui concerne les règles de priorité, j'ai toujours aimé celle de Steve Oualline dans "Practical C":
Il existe quinze règles de priorité dans C (& & amp & & amp; & amp; &; vient avant ||, vient avant ? :). Le programmeur pratique réduit ceux-ci à deux:
1) La multiplication et la division viennent avant addition et soustraction.
2) Placez les parenthèses autour de tout sinon.
Puis-je vous suggérer de résoudre de telles questions à l'aide d'un programme de test? Vous avez ainsi l'avantage de savoir que la réponse est correcte pour votre implémentation et que vous n'êtes pas exposé au risque de questions mal répondues.
La précarité des opérateurs C est expliquée ici
Selon le tableau, - > est plus prioritaire que le & amp; opérateur, il est donc & amp; (row- > count)
& amp; (row- > count)
- > a une priorité plus élevée que & amp; (adresse de). Ainsi, votre expression sera évaluée sous la forme & amp; (row- > count)