Anfänger Frage



  • Firefighter, wenn Du schon versuchst, korrekten C++ Code zu posten, dann bitte ich Dich, das auch vernünftig zu tun:

    #include<iostream>
    
    int main()
    {
        std::cout << "Hallo Welt" << std::endl;
    }
    

    🙂



  • Wieso der Code ist vollkommen korrekt, nur das ich ihm noch gleich ein bisschen Arbeit abgenommen habe.
    Und int main ist eine Funktion einen Rückgabewert hat, warum nicht dran halten 🙂



  • Natürlich ist der Code korrekt, ich habe ihn nur ein bisschen optimiert, und gezeigt, wie die bessere Version davon aussieht 😉
    Und der C++ Standard schreibt nicht vor, dass main einen Wert zurückgeben muss. Da dieser sonst auch nicht von Bedeutung ist, ist es völlig sinnfrei, trotzdem einen zurückzugeben.

    (Klar, ist jetzt auch egal, nur damit du weißt)



  • mikey schrieb:

    Natürlich ist der Code korrekt, ich habe ihn nur ein bisschen optimiert, und gezeigt, wie die bessere Version davon aussieht 😉

    gut std::cout ist besser als using..., aber was ist daran optimiert?



  • Na die Codegröße ist optimiert 😉 Und wenn wir uns nicht nur auf das eine Hello World Beispiel beschränken, dann werden auch noch mögliche Gültigkeitsbereich-Konflikte vermieden.



  • also ersma danke^^ aber der öffnet das fenster jetzt nur ganz kurz ist das richtig ? muss das nich eig offen bleiben ? 😕



  • Ne, du hast es ja nicht explizit programmiert, dass das Fenster offen bleiben soll. Das Programm macht nur das, was du programmiert hast, und nicht mehr. Damit lässt sich das sofortige Schließen des Fensters verhindern:
    http://www.c-plusplus.net/forum/viewtopic-var-t-is-111042.html



  • @mikey

    hast recht, das es bei größeren Projekten da zu Problemen kommen könnte 🙂
    Nur um nochmal auf die main geschichte zurückzukommen, wenn wir ihm von anfang an richtig zeigen das eine Funktion was zurückgibt, merkt er es sich vieleicht leichter:)
    Aber ist ja auch egal, er hat es verstanden und wir brauchen ja nicht über ein Hello World programm diskutieren 😃

    achja mikey, schöne Sig 🙂



  • Diskussionen eröffnen Horizonte, von daher finde ich es nicht verkehrt, auch mal über solche banalen Dinge zu diskutieren. Jetzt weiß der Threadersteller, dass main laut Definition im Gegensatz zu regulären Funktionen keinen Wert zurückgeben muss, und gut. 🙂

    Firefighter schrieb:

    achja mikey, schöne Sig 🙂

    Danke, kann ich bei Deiner nur bestätigen.



  • so jetzt hab ichs hinbekommen THX 😃



  • inwiefern ist std::cout zum using optimiert?
    kann mir das mal bitte genau erklärt werden



  • es hat nix mit optimiert zu tuen, da hat sich mikey nur verschrieben. Es ist damit gemeint das mit std:: namenskonlfikte eingegrenzt werden können wenn es sich um ein größeres projekt handelt.
    Stell dir vor du hast ein großes projekt in dem du 1 selbstgeschrieben swap funktion hast, und dann gibt es noch die aus dem std::

    jetzt willst du deine swap benutzen, nun weiß der compiler natürlich nicht welche swap er nehmen soll, weil es gibt ja zwei ;)Und so musst du ihm noch sagen aus welchem namensraum. Wenn du nun aber oben hinschreibst, using namespace std; und dann wieder deine swap benutzen willst, weiß der compiler immernoch nicht welche swap, weil er kann ja nicht riechen das er jetzt deine nehmen muss. Wenn du ihm aber explizit sagst:

    std::swap(..) weiß er das er die swap aus dem std namensraum nehmen soll


Anmelden zum Antworten