Priorität von C ++ Operatoren „&“ und „->“
-
03-07-2019 - |
Frage
Bei den folgenden:
&row->count
Would & (row-> count) ausgewertet werden oder (& row) -> count in C ++ ausgewertet werden
EDIT:. Hier ist ein großer Link für C ++ Vorrang
Lösung
Andere Tipps
Was Präzedenzregeln gehen, habe ich immer gemocht, die setzen ein Viertel von Steve Oualline in „Practical C“:
Es gibt fünfzehn Vorrangregeln in C (&& kommt vor || kommt vor ? :). Der praktische Programmierer reduziert diese zwei:
1) Multiplikation und Division kommen vor Addition und Subtraktion.
2) Setzen Sie Klammern um alles sonst.
Darf ich vorschlagen, dass Sie solche Fragen lösen ein Testprogramm mit? Das hat den Vorteil, dass Sie sicher wissen, dass die Antwort für Ihre Implementierung korrekt ist, und Sie sind nicht auf das Risiko von schlecht beantwortet Fragen ausgesetzt.
C Operator precendence erklärt hier
Gemäß der Tabelle -> eine höhere Priorität als der Operator &, so ist es & (row-> count)
& (row-> count)
-> hat eine höhere Priorität als & (Adresse). Also Ihr Ausdruck als ausgewertet werden würde und (row-> count)