Auswertungsreihenfolge bie return
-
Bashar schrieb:
In welchem Debugger und wie? Beim MSVC geht es m.W. nicht.
Sobald die Funktion verlassen wurde stehen im MSVC bei den "Autos" die Werte, die die gerade aufgerufenen Funktionen zurückgegeben haben.
-
Bashar schrieb:
result nehm ich manchmal dafür.
hustbaer schrieb:
Welcher Wert zurückgegeben wird kann man im Debugger auch ohne Hilfsvariable nachgucken.
In welchem Debugger und wie? Beim MSVC geht es m.W. nicht. Ich bin jemand, der sich davon nicht den Stil diktieren lässt, aber einige Kollegen definieren genau deshalb grundsätzlich Variablen, die sie dann zurückgeben.
Einen Debugger verwende ich selten. Stattdessen benutze ich lieber Logfiles, die ich mir in Ruhe ansehen kann. Und genau dafür brauche auch ich Variable als Rückgabe einer Funktion. result kommt da manchmal auch vor. Ist alles nun auch wieder ein Programmierstil des vergangenen Jahrhunderts. Dafür übersichtlich und beim Testen (jedenfalls für mich) effizient.
Die Frage, in welcher Reihenfolge etwas abgearbeitet wird, kann man nachlesen oder im Ergebnis (in der Funktion!) ausprobieren. Suchen und Lesen ist manchmal aufwendiger als Probieren, nur verstanden hat man damit wenig! Die Reihenfolge für C/C++ liegt doch fest. Das war bei Mixed-Programming MASM/FORTRAN/PASCAL/C für den Stack einmal anders und etwas schwieriger zu handhaben.
Der Steinzeitprogrammierer verabschiedet sich nun endgültig aus diesem Thema.

-
pumuckl schrieb:
Sobald die Funktion verlassen wurde stehen im MSVC bei den "Autos" die Werte, die die gerade aufgerufenen Funktionen zurückgegeben haben.
Das stimmt zwar, aber man kann sie bei strukturierten Typen nicht aufklappen.