Sequenz-PunkteDieser Teil von ManderC ist noch in Bearbeitung Wenn in einem Ausdruck ein Operand gleichzeitig gelesen und geschrieben wird, können Nebeneffekte auftreten, welche das Ergebnis einer Operation verändern, je nachdem, wie der Ausdruck geschrieben und mit welchem Compiler er übersetzt wird. Durch die Festlegung von sogenannten DetailsZwar ist in den Sprachen C und C++ durch die Abarbeitungsrichtung und Rangfolge von Operatoren genau spezifiziert, wann welcher Operator abgearbeitet werden soll. Es ist jedoch nicht eineindeutig festgelegt, wann die Operanden der jeweiligen Operationen angesprochen werden sollen. Wenn eine Variable in einem Ausdruck gleichzeitig gelesen wie auch geschrieben wird, ist somit nicht klar, ob ein Lese-Vorgang nun vor oder nach einem Schreib-Vorgang passieren soll. Auch ist nicht klar, was passiert, wenn mehrere Schreib-Vorgänge auf denselben Operanden auftreten. Beispielsweise ist es im folgenden Code nicht möglich, den schlussendlichen Wert von
In diesem Beispiel ist es nicht klar, ob die Zuweisung vor oder nach Ausführung des Inkrements geschehen soll. Entweder wird zuerst das Inkrement ausgeführt und danach der ursprüngliche Wert (was dem Rückgabewert der Operation
|