Ok, wenn wir schon beim theoretisieren sind.
Die Frage ist ja , warum gibt es ÜBERHAUPT zwei verschiedene Zeichen.
Das Problem sind wohl die direkten Zuweisungen aus einem boolschen Operator:
Code:
a = 1234;
b = a = 1234; // Zuweisung und Vergleich, b wäre dann True
Im 2ten Fall weiß der Compiler nicht genau, ob er b zuweisen soll, oder a.
Wenn der Compiler schlauer wäre, dann sollte er das meiner Meinung nach trotzdem hinbekommen,
denn das erste "=" müsste IMMER eine Zuweisung sein, oder nicht?
Das hat damit zu tun, das die Werte bei C/C++ auf einen Stack gelegt werden - nach dem LIFO (last in first out) Prinzip:
die Werte gehen also immer nach unten bzw links nach rechts beim setzen aufgebaut:
seter:
push b
push a
push 1234
geter:
pop 1234
pop a
pop b
bei Pascal werden Variablen-ähnlich nach oben aufgebaut.
hat beides sein für und wider...