Sprachkonzepte Preprozessor Operatoren Kontrollstrukturen Typen OOP Bibliotheken |
Operatorenklammerung ()In Programmen treten häufig mehrere Operatoren hintereinander auf, welche Variablen und Werte verändern. Die Reihenfolge, in welcher diese Operatoren abgearbeitet werden, ist eindeutig festgelegt anhand von Abarbeitungsrichtung und Rangordnung. In einigen Fällen jedoch ist eine andere Reihenfolge erwünscht. Die Klammerung von Operatoren dient dazu, diese Reihenfolge explizit festzulegen. Operatoren werden mit runden Klammern () geklammert. DetailsEine Klammerung hat den Rang 2 und wird von links nach rechts abgearbeitet. Im folgenden sind einige Fälle aufgelistet, wo Operatorenklammerung üblich ist. Klammerung im ZweifelsfalleIst man sich nicht sicher, was für eine Abarbeitungsrichtung oder Rangordnung Operatoren untereinander haben, gibt es unerklärliche Phänomene in einer Codezeile, will man sichergehen, dass die Mathematik stimmt, ist man sich nicht sicher, wo welcher Typ herrscht, weiss man nicht, ob man ein Codefragment später mal erweitern könnte, ... Es empfielt es sich STETS, Klammern zu setzen. Klammern schaden NIE! Klammerung von mathematischen AusdrückenDie Klammerung von mathematischen Ausdrücken ist notwendig und hilfreich, da oft Operatoren hintereinander auftreten, die gleiche Abarbeitungsrichtung sowie gleiche Rangordnung besitzen. Den Effekt von Klammerung kann man mittels dem Subtraktrions-Operator demonstrieren:
Grundsätzlich kann man berichten, dass die Abarbeitungsrichtung und Rangordnung der üblichen mathematischen Operatoren den gängigen Regeln der Mathematik entsprechen, so beispielsweise das Assoziativgesetzt (Punkt-vor-Strich-Regel):
Klammerung zur optischen UnterstützungOftmals ist die Abfolge der Operatorenauswertung klar, dennoch werden Klammern gesetzt, um nur schon rein optisch dem Programmieren einen besseren Überblick zu geben. Gerade bei Indizes sind Ausdrücke wie
Weitere Einträge folgen. Diese Seite von ManderC ist noch in der Entwicklung. Klammerung zur Typ-SicherheitKlammerung für seltene AuswertungskonflikteKlammerung für ZuweisungenKlammerung für Makros
|