Nach return ist Schluss?
-
Hi,
ich habe eine Funktion die mit einen Wert zurückgibt hier einkleiner Codeausschintt:int i = 0; int function() { // Code... return i; // Null wird zurückgegeben i++; } //Wird nicht ausgeführt
Wie wird i++ ausgeführt, denn nach return passiert wohl nichts mehr
BD
Gibtsnicht
-
Gibtsnicht schrieb:
Wie wird i++ ausgeführt, denn nach return passiert wohl nichts mehr
Gar nicht. Das ist toter Code. Wird vom Compiler wahrscheinlich eh rausoptimiert.
Schalt die Warnings an und der Compiler teilt dir sowas auch mit.
-
Gibtsnicht schrieb:
Wie wird i++ ausgeführt, denn nach return passiert wohl nichts mehr
Gar nicht, wie du schon festgestellt hast. Mit return verlässt du die Funktion, was ist deine Frage? Wenn du i noch irgendwie inkrementieren aber den alten Wert zurückgeben willst, kannst du das auch zusammenziehen:
return i++;
-
Gibtsnicht schrieb:
int i = 0; // warum diese Zeile an dieser Position? int function() { // Code... return i; // Null wird zurückgegeben i++; } //Wird nicht ausgeführt
Wie wird i++ ausgeführt, denn nach return passiert wohl nichts mehr
BD
GibtsnichtDer Code sieht, wenn es C sein soll, sehr eigen aus.
Hast du den gefunden? Oder selbst geschrieben?
Wenn selbst geschrieben, versuche mehr als die Hälfte des kleinen Beispiels zu verbessern.