Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

C++ Grundkurs

Vorrang von Operatoren

Testen Sie unsere 2016 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
C++ behandelt bestimmte Operatoren vorrangig im Vergleich zu anderen. Dabei gilt die aus der Mathematik bekannte Punkt-vor-Strich-Regelung.
03:27

Transkript

In dieser Lektion stelle ich Ihnen die Präzedenz oder auch den Vorrang von Operatoren in C++ genauer vor. Präzedenz meint die Reihenfolge, in der Ausdrücke ausgewertet werden. Umgangssprachlich "Punkt vor Strich". Da es so viele Regeln gibt, gehe ich mit Ihnen gerne auf die wikibooks-Seite und Sie sehen hier, es gibt 18 verschiedene Präzedenzstufen in C++. Wohlgemerkt, das ist keine Frage von C++. Andere Programmiersprachen werden eine ähnliche Komplexität hier haben, da die Regeln aus der Mathematik kommen. Jetzt gehe ich mit Ihnen die einzelnen Präzedenzstufen ein bisschen durch. Die erste Präzedenzstufe hat der Klammer-Operator. Danach folgt der "Funktionsaufruf", die "Indizierung", sprich, wenn Sie auf ein Element im "Array" zugreifen wollen. "Postfix++", "Postfix--" Operator um den Wert um 1 zu erhöhen und erniedrigen. Die C++ "casts". Dritte Stufe "+", "-". Damit ist natürlich wieder das -1 und das +1 gemeint. D.h. das "-" und "+" direkt vor der Zahl. bitweise Negation, Präfix und Präfix "+" und "–" haben eine niedrigere Präzedenz wie Postfix "+" und "-", "Dereferenzieren" Die Operatoren zum Erzeugen und Zerstören von Objekten für den einfachen und den "Array" Fall. Zugriff auf Mitglieder einer Klasse. Multiplikation, Division, Modulo. Hier sehen Sie "*" hat eine höhere Präzedenz wie "+". Also Punkt vor Strich. Ein bisschen was ist dann doch vertraut. Linksverschiebung, Rechtsverschiebung. Sie können durch Linksverschiebung den Wert um Faktor 2 erhöhen, durch Rechtsverschiebung um Faktor 2 verkleinern. Kleiner, Größer, Relationen, Gleichheit, Ungleichheit, bitweiser Und-Vergleich, bitweises exklusives Oder. Das sind logische Operationen. Da gehe ein bisschen drüber. Den kennen Sie bereits auch. Das ist die Bedingung. Das ist der einzige ternäre Operator. Dann kommt die Zuweisung, also das "=". "a = b". Der Sequenzoperator, wenn man Werte hintereinanderschreibt. Als letztes kommt der "throw"-Operator, um eine Ausnahme zu werfen. Sie müssen zugeben, da müssen Sie sich ganz schön viel im Kopf behalten. Dadurch ist das falsche Anwenden von Präzedenzen oder das Vergessen welcher Operator höher bindet wie ein anderer häufige Ursache von Fehlern. Im Zweifelsfall ist mein Tipp ganz einfach, verwenden Sie Klammern. Sie haben auf der Wiki-Seite gesehen, dass der Klammeroperator die höchste Präzedenz hat. Das heißt, durch einen Klammeroperator können Sie explizit immer die Auswertungsreihenfolge vom arithmetischen Ausdruck vorgeben. Hier ein paar Beispiele. "a * b + c". Da hätte ich keinen Klammeroperator benötigt. Sie können es natürlich explizit machen, indem Sie hier die Klammer rumsetzen. Damit gehen Sie sicher, dass "a * b" immer vor "+ c" ausgewählt wird. Hier haben Sie ein "Präfix Inkrement +", ein "Präfix Inkrement" auf "a" und auf "b" Das "++b" bindet höher "+" wie das "++a" hier. Aber um sicher zu gehen, werde ich in diesem Fall auch Klammern setzen. Das Gleiche hier "a" logisch verknüpft mit "b" und verknüpft mit "c" und stärker wie das "oder". Und das Gleiche noch einmal. Und verknüpft "a" "b", da bindet der Identitätsoperator stärker das logische "und". In dieser Lektion habe ich Ihnen gezeigt, dass es 18 verschiedene Präzedenzen in C++ gibt, und dass im Zweifelsfall den Klammeroperator anwenden sollten. Wenn Sie sich selber unsicher sind und zum anderen weil Sie auch visuell dem anderen Entwickler ausdrücken, wie der Code evaluiert werden soll.

C++ Grundkurs

Steigen Sie in die mächtige Programmiersprache C++ ein und lernen Sie dabei alle wichtigen Funktionen mit Anwendungsbeispielen kennen.

8 Std. 14 min (147 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!