Was sind die historischen Gründe, warum C-Sprachen Vor- und Nachinkremente haben?

(Hinweis: Ich frage nicht nach den Definitionen von Pre-Increment vs. Post-Increment oder wie sie in C / C ++ verwendet werden. Daher halte ich dies nicht für eine doppelte Frage.)

Entwickler von C (Dennis Ritchie et al.) Haben aus sehr guten Gründen Inkrement- und Dekrement-Operatoren erstellt. Was ich nicht verstehe, ist, warum sie beschlossen haben, die Unterscheidung zwischen Vor- und Nachinkrementen / -dekrementen zu treffen?

Mein Sinn ist, dass diese Operatoren bei der Entwicklung von C weitaus nützlicher waren als heute. Die meisten C / C ++ - Programmierer verwenden den einen oder anderen, und Programmierer aus anderen Sprachen finden die Unterscheidung heute bizarr und verwirrend (Hinweis: Dies basiert ausschließlich auf anekdotischen Beweisen).

Warum haben sie sich dazu entschieden und was hat sich in der Berechnung geändert, dass diese Unterscheidung heute nicht mehr so nützlich ist?

Für den Datensatz kann der Unterschied zwischen den beiden im C ++ - Code gesehen werden:

int x = 3;

cout << "x = 3; x++ == " << x++ << endl;
cout << "++x == " << ++x << endl;
cout << "x-- == " << x-- << endl;
cout << "--x == " << --x << endl;

wird als Ausgabe geben

x++ == 3
++x == 5
x-- == 5
--x == 3

Antworten auf die Frage(12)

Ihre Antwort auf die Frage