Objekte als Return-Wert



  • Was ist der unterschied zwischen cout und return?

    Und was bringt es mir ein Objekt als Return wert zu setzen?



  • der return wert speichert das ergebnis nur ab
    cout dient nur zur ausgabe



  • Mit return wird eine Methode/Funktion verlassen. Ggf. wird dabei ein Wert zurückgeliefert, der weiter im Code verwendet werden kann.

    Mit cout wird etwas auf dem Standard-Ausgabestream ausgegeben, bspw. Text in einem Konsolenfenster.

    Mein Tipp: Lies ein gutes Grundlagenbuch.



  • Ich hab mir das Buch C++ Lernen und professionell anwenden besorgt



  • Dann fang doch mal an, zu lesen...



  • Berzerk schrieb:

    Was ist der unterschied zwischen cout und return?

    Und was bringt es mir ein Objekt als Return wert zu setzen?

    Möglicherweise denkst du da an so etwas wie

    int addiere_return(int a, int b) {
        return a + b;
    }
    
    void addiere_cout(int a, int b) {
        std::cout << (a + b) << std::endl;
    }
    
    int main() {
        std::cout << addiere_return(23,42) << std::endl;
        addiere_cout(23,42);
    }
    

    ...und das meiner Meinung nach wichtige Stichwort wäre hier "separation of concerns"; denn addiere_return macht hier zwei Dinge auf einmal: eine Summe berechnen und dann auch noch ausgeben (als so genannter Seiteneffekt). Wenn Du mit der Summe aber an einer anderen Stelle im Programm etwas anderes machen möchtest, dann bringt dir das nichts, wenn sie nur auf der Konsole landet. Wenn du mit der Summe weiter rechnen willst, muss die Funktion die Summe auch zurück geben, wie bei addiere_return . Das Funktionsergebnis kannst du dann ja immer noch dem Benutzer über cout mitteilen (siehe Zeile 10).

    Grundsätzlich solltest Du versuchen, Funktionen nicht so zu bauen, dass sie gleich 2 oder mehr Dinge auf einmal tun. Wenn man die nämlich noch in kleinere Teile zerlegen würde, wärst Du flexibler und kannst die Teile auch anders benutzen.



  • cout und return haben nix mit einander zu tun. Alle Versuche da was zu erklären würden die Verwirrung nur erhöhen, schätze ich. Vergiss die Frage einfach und fang an das Buch zu lesen.



  • Berzerk schrieb:

    Was ist der unterschied zwischen cout und return?

    cout macht Ausgabe
    return macht Rückgabe
    manchmal verwechselt man anfangs die beiden, dann kommt man in Teufels küche.

    Berzerk schrieb:

    Und was bringt es mir ein Objekt als Return wert zu setzen?

    Man mag größere Programme gerne in kleine unabhängige Rechemnabschnitte zerteilen. Dazu ist es sehr praktisch, daß man Funktionen bauen kann, die Objekte zurückgeben.



  • ScottZhang schrieb:

    cout und return haben nix mit einander zu tun. Alle Versuche da was zu erklären würden die Verwirrung nur erhöhen, schätze ich. Vergiss die Frage einfach und fang an das Buch zu lesen.

    Ich lese dieses Buch bereits ....
    Nur stelle ich in diesem Forum auch Fragen, weil nicht alles so verständlich ist wie es sein sollte.
    Vielen Dank für eure Hilfe 👍



  • Berzerk schrieb:

    Ich lese dieses Buch bereits ....
    Nur stelle ich in diesem Forum auch Fragen, weil nicht alles so verständlich ist wie es sein sollte.

    Du hast auch nicht gefragt, welches Buch Du holen solltest, denn P&P steht nicht unbedingt weit vorn in der Gunst. 🤡 🤡 🤡


Anmelden zum Antworten