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
    Gibtsnicht

    Der 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. 😉


Anmelden zum Antworten