C++ Primer - Operator Priorität
-
Im C++-Primer steht, dass der Multiplikationsoperator "*" eine höhere Priorität als der Divisionsoperator "/" hat. Das stimmt aber doch nicht oder?
MfG
Stromberg
-
Nein. Die haben die gleiche Priorität. Allerdings hat der Dereferenzierungsoperator * eine höhere Priorität, als die Rechenoperanden.
-
haben gleiche priorität. wie bei mathematischen gleichungen.
siehe auch http://de.wikibooks.org/wiki/C%2B%2B-Programmierung:_Liste_der_Operatoren_nach_Priorität
-
Aber hier kann man doch nicht von gleicher Priorität sprechen:
cout << 40 / 2 * 3 << endl;MfG
Stromberg
-
Abgesehen von ein paar Ausnahmen (einstellige und Zuweisungs-) sind die Operatoren linksbindend und daher wird das automatisch so aufgelöst:
(40 / 2) * 3
-
drakon schrieb:
Einstellige Operatoren sind rechtsbindend
Hm? Wieso alle einstelligen?
Edit: Edit gelesen.

-
@drakon
Was ist mit einstellige Operatoren gemeint?
-
Kritiker schrieb:
@drakon
Was ist mit einstellige Operatoren gemeint?Wie kann man in einem Satz nur so viele Fehler machen..

Ich habs editiert, war nicht ganz bei der Sache und durch die Editierung wurde der Satz falsch.. :p
Aber wenn deine Frage ernst gemeint war. Einstellige Operatoren sind z.B der *-Operator (Dereferenzierung), oder auch &. Einfach diejenigen, welche nur ein Argument erfordern. Die Rechenoperator sind 2-Stellig, da sie ja links und rechts ein Argument haben.
-
Danke, jetzt ist klar, was du gemeint hast.
-
drakon schrieb:
Abgesehen von ein paar Ausnahmen (einstellige und Zuweisungs-) sind die Operatoren linksbindend
Einstellige Operatoren sind jetzt plötzlich die Ausnahme von linksbindend?

Mit solchen Regeln sollte man immer aufpassen.

-
Nexus schrieb:
drakon schrieb:
Abgesehen von ein paar Ausnahmen (einstellige und Zuweisungs-) sind die Operatoren linksbindend
Einstellige Operatoren sind jetzt plötzlich die Ausnahme von linksbindend?

Ja sind sie..
z.B hier zu sehen:
*p++;
-
Ah, so meintest du das. Ich dachte, du würdest dich auf alle "einstelligen" Operatoren beziehen.
Deine mehrfachen Edits haben mich verwirrt.
