015
01.07.2007, 16:01 Uhr
0xdeadbeef
Gott (Operator)
|
Ich glaube, der eigentlich unverständliche Teil hier ist für einen Anfänger die Auswertung der Zuweisung. Zum Beispiel
C++: |
int x;
if((x = 4) == 4) { // Das hier passiert }
|
Eine Zuweisung (zumindest bei Basistypen, normalerweise auch bei komplexen, obwohl man da theoretisch Schindluder treiben könnte) hat den Wert des zugewiesenen. Die eigentliche Idee dabei ist, dass
C++: |
int x, y;
x = y = 2; //lies: x = (y = 2);
|
eine schöne Schreibweise ist - allerdings lässt sich sowas auch anderweitig benutzen. Zum Beispiel ist
C++: |
switch(c = getchar()) { case '\n': //... }
|
durchaus denkbar. Jetzt ist
eine denkbar widerliche Schreibweise, aber im Grunde macht es nichts anderes als
C++: |
x /= 10; // x = x / 10; if(x != 0) { // ... }
|
...weil in C 0 halt falsch und alles andere wahr entspricht. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra |