C++ Lehrling braucht Erklärung

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • C++ Lehrling braucht Erklärung

    Hallo,
    Ich habe mir vor 2 Tagen ein Buch zum Thema C++ gekauft 8) .
    Es ist das Buch: "C++, Programmieren mit einfachen Beispielen" Verlag: "Markt+Technik".
    Ich habe die Programmiersprache C++ spon gewählt weil ich erstmal Programme programmieren will
    die unter Windows ausführbar ist :rolleyes: . Später wollte ich noch HTML & Java lernen.

    So, ich bin gerade bei einem Kapitel wo sie das Grundgerüst erklären. :thumbsup:


    -------------------------------------------------------------
    #include <iostream>
    using namespace std;

    int main()
    {
    retuner 0;
    }
    -------------------------------------------------------------


    Ich wollte euch jetzt fragen ob ich es jetzt Richtig verstanden habe.

    #include <iostream>
    Heißt: Der Compiler soll in der Bibliothek suchen: "<iostream>"

    using namespace std;
    Heißt: Er soll denn Namensbereich bzw. Kapitel "std" benutzen (Mit ; werden Befehle beendet)

    int main() { }
    Heißt: Es ist sehr wichtig, weil man zwischen { & } die Befehle eingibt die er ausführen soll.


    So, jetzt kommen wir zum eigentlichen Problem, ich verstehe nicht richtig was es mit:
    "return 0;" auf sich hat. Allso in meinem Buch steht es schon erklärt nur ich verstehe es nicht.
    Es soll irrgendein Ergebnis zurück liefern? 8| Hm... Need Help.

    MfG Laoxi
  • Die Main Funktion muss nicht unbedingt etwas zurückliefern. Aber da sie als "int" definiert ist, nehm das einfach mal als gegeben,
    Nur um das klarzustellen: Es ist nur eine Funktionsrückgabe. Das hat nichts mit der Ausgabe zu tun.

    Den Namensraum std brauchst du auch nur bei bestimmten Sachen, wie z.B. der Ausgabe (cout).

    Quellcode

    1. #include <iostream>
    2. using namespace std;
    3. int foo()
    4. {
    5. return 5;
    6. }
    7. int main()
    8. {
    9. int x = foo();
    10. return 0;
    11. }
    Alles anzeigen
  • hallo,
    ein c, bzw c++ programm gibt in der regel einen wert zurück. welchen typ du zurück gibtst legst du in fest indem du deine funktion z.b. mit "int" definierst.
    es ist aber nicht zwingend notwendig einen wert zurück zu geben. wenn du keinen rückgabewert benötigst musst du aber deine fuktion mit "void" definieren.

    thx, truespin


    ps: korrigiert mich wenn ich mal wieder lauter ... von mir gebe^^
  • truespin schrieb:

    hallo,
    ein c, bzw c++ programm gibt in der regel einen wert zurück. welchen typ du zurück gibtst legst du in fest indem du deine funktion z.b. mit "int" definierst.
    es ist aber nicht zwingend notwendig einen wert zurück zu geben. wenn du keinen rückgabewert benötigst musst du aber deine fuktion mit "void" definieren.

    thx, truespin


    ps: korrigiert mich wenn ich mal wieder lauter ... von mir gebe^^


    Jein.
    C99 sieht folgende Prototypen für die Main Funktion vor:

    Quellcode

    1. int main()
    2. int main(void)
    3. int main(int,char**)

    Ein void vor der main Funktion ist zwar bei den meisten Compilern zulässig, aber nicht C Komform.

    Jedoch ist man bei der main Funktion nicht gezwungen einen Wert zurückzugeben!

    @Laoxi
    Wenn du dich näher mit Funktionen beschäftigst (Wie unser Werter d0nut schon gezeigt hat), wirst du den Sinn des Return Values wohl besser verstehen.

    Was den Namespace angeht. Wenn du z.B. das using namespace std; weglassen würdest, müsstest du vor allen Ausdrücken wie cout etc. ein std:: schreiben.