C++ | Python | Zweck |
Postincrement | ||
Preincrement | ||
Postdecrement | ||
Predecrement | ||
Vorzeichen | ||
Addition | ||
Subtraktion | ||
Multiplikation | ||
Division | ||
Modulo | ||
Exponation | ||
Zuweisung | ||
Zuweisung mit Änderung | ||
Subtiler Unterschied zwischen
x++ und
++x:
Preincrement bedeutet, zuerst Variable um 1 erhöhen, dann verwenden.
Postincrement umgekehrt, zuerst verwenden, dann erhöhen.
Beispiel:
int n = 0; cout << n++ << endl; cout << n << endl; cout << ++n << endl;
Aber Vorsicht, manchmal compiler-abhängige Seiteneffekte !
Mathematische Funktionen, wie
sin, cos, exp, sqrt, pow, etc.,
sind in C++ nicht
direkter Bestandteil der Sprache (im Gegensatz zu FORTRAN).
Sie sind aber in jedem C/C++ Compiler enthalten; die Definitionen (prototypes)
müssen mittels header files geladen werden,
z.B.
#include <cmath>.
C++ | python | Zweck |
false oder | False | falsch |
true oder | True | wahr |
!x | not x | Negation |
x and y | AND Verknüpfung | |
x or y | OR Verknüpfung | |
kleiner als | ||
kleiner als oder gleich | ||
größer als | ||
größer als oder gleich | ||
gleich | ||
ungleich |
Vorrangregeln für Operatoren: f = a*x*x + b*x + c funktioniert wie erwartet nach Mathematik (Punkt vor Strich ...). Weiteres im Prinzip eindeutig festgelegt, dennoch besser mit Klammern unmissverständlich klarmachen: x = y > z ? (x=y) > z oder x = (y>z)
C++ | Zweck |
Complement | |
bitwise AND | |
bitwise OR | |
bitwise XOR | |
left shift | |
right shift mit sign |
cout << (2 | 1); // = 3 cout << (2 & 1); // = 0 cout << (2 & 3); // = 2 cout << (2 << 1); // = 4
Mehr Beispiele später in den Übungen.
Achtung: Viele Operatoren sind mehrfach belegt, d.h. je nach context haben sie unterschiedliche Bedeutung, wie hier << left-shift oder Ausgabe. Auch bei anderen Mehrfach–Verwendung *, &, ...