Warum gibt es keine ++
y --
Operatoren in Python?
Antwort
Zu viele Anzeigen?Zusätzlich zu den anderen hervorragenden Antworten hier, ++
y --
sind auch für ihr undefiniertes Verhalten berüchtigt. Was passiert zum Beispiel in diesem Code?
foo[bar] = bar++;
Es sieht so unschuldig aus, aber es ist falsch C (und C++), weil man nicht weiß, ob die erste bar
inkrementiert worden ist oder nicht. Ein Compiler kann das auf die eine Art tun, ein anderer auf eine andere, und ein dritter lässt Ihnen vielleicht Dämonen aus der Nase fliegen. Alle wären vollkommen konform mit den C- und C++-Standards.
Undefiniertes Verhalten wird in C und C++ als notwendiges Übel angesehen, aber in Python ist es einfach böse und wird so weit wie möglich vermieden.
- See previous answers
- Weitere Antworten anzeigen