C-Strings vergleichen



  • seldon schrieb:

    C++ von A bis Z, 3.3.1 schrieb:

    extern "C" typ funktion( parameter );
    

    Damit teilen Sie dem C++-Compiler mit, dass die Funktion »funktion()« mit
    einem C-Compiler übersetzt wurde.

    Der ist gut 🤡



  • Felixxx schrieb:

    Vllt. wollt Ihr mal ein Buch nennen, was Eurer Meinung nach das genau Gegenteil zu dem von J.W. ist bzw. das, das Ihr einfach empfehlen würdet?

    Ich empfehle dann mal den Breymann.



  • Felixxx schrieb:

    Vllt. wollt Ihr mal ein Buch nennen, was Eurer Meinung nach das genau Gegenteil zu dem von J.W. ist bzw. das, das Ihr einfach empfehlen würdet?

    Der C++ Primer (Stanley B. Lippman, Barbara E. Moo, Josee Lajoie) ist ein gutes Einsteigerbuch, und ich habe gute Dinge über Accelerated C++ (Andrew Koenig, Barbara E. Moo) gehört. Als weiterführende Lektüre bietet sich Effective C++ (Scott Meyers) an.



  • #include <iostream.h>
    void main()
    {
    // Dies ist das Hello-World-Programm
    cout<<"Hello, world!"<<endl;
    };

    Dieses kleine Programm schreibt "Hello, world!" (ohne die Anführungszeichen) auf den Bildschirm und setzt den Cursor auf den Beginn der nächsten Bildschirmzeile.

    -> .h ? std:: ?

    Zu den BÜchern: Werde ich mal anschauen



  • Felixxx: Ohne zu sagen, aus welchem Buch das stammt, machts nur halb so viel Spaß 😉



  • Felixxx schrieb:

    -> .h ? std:: ?

    Das war vor 11 Jahren noch keine Schande.



  • Michael E. schrieb:

    Felixxx: Ohne zu sagen, aus welchem Buch das stammt, machts nur halb so viel Spaß 😉

    Das ist aus http://www2.fh-augsburg.de/informatik/vorlesungen/XX/c_cplus/tutorial/henkel/Hello_world.html
    Ein Gegenangriff, so nennt man das wohl.



  • Felixxx schrieb:

    #include <iostream.h>
    void main()
    {
    // Dies ist das Hello-World-Programm
    cout<<"Hello, world!"<<endl;
    };

    Dieses kleine Programm schreibt "Hello, world!" (ohne die Anführungszeichen) auf den Bildschirm und setzt den Cursor auf den Beginn der nächsten Bildschirmzeile.

    Zusatzaufgabe: Abgesehen von der Verwendung des alten Nicht-Standard-Headers, was ist an diesem Programm noch falsch? Ich sehe noch zwei Sachen.



  • Richtig, so ist es auch keine Schande, wenn in irgendwelchen Beta Phasen von Büchern die warsch. auch nur online released worden sind Fehler drinnen sind.
    Außerdem gibts in jedem Buch Fehler.



  • volkard schrieb:

    Felixxx schrieb:

    #include <iostream.h>
    void main()
    {
    // Dies ist das Hello-World-Programm
    cout<<"Hello, world!"<<endl;
    };

    Dieses kleine Programm schreibt "Hello, world!" (ohne die Anführungszeichen) auf den Bildschirm und setzt den Cursor auf den Beginn der nächsten Bildschirmzeile.

    Zusatzaufgabe: Abgesehen von der Verwendung des alten Nicht-Standard-Headers, was ist an diesem Programm noch falsch? Ich sehe noch zwei Sachen.

    return wert und das coole Semikolen.



  • Felixxx schrieb:

    Richtig, so ist es auch keine Schande, wenn in irgendwelchen Beta Phasen von Büchern die warsch. auch nur online released worden sind Fehler drinnen sind.

    Erstens sind die Fehler bei Wolf wohl auch in der Print-Ausgabe und zweitens musst du wirklich auf das Datum achten, wann volkard sein Tutorial geschrieben hat. Es gab mal Zeiten, da wars noch nicht so weit her mit dem C++-Standard und seiner Unterstützung durch die Compiler.



  • Wir sehen aber, daß die J.W.-Leser oft schlimme Verständnisschwierigkeiten bekommen, die wir dann in langen Threads mühsam ausräumen. Und daß sie am Ende schneller C++ lernen würden, wenn sie das Buch nicht aufgeschlagen hätten.
    Das ist das eigentliche Problem. Nicht, daß er ein wenig Papier schwarz macht.



  • Felixxx schrieb:

    return wert

    Nö. Die main() braucht kein return.
    Aber fein, daß Du das Semikolon entdeckt hast.



  • volkard schrieb:

    Felixxx schrieb:

    return wert

    Nö. Die main() braucht kein return.
    Aber fein, daß Du das Semikolon entdeckt hast.

    seit wann ist das nen fehler? oO



  • volkard schrieb:

    Zusatzaufgabe: Abgesehen von der Verwendung des alten Nicht-Standard-Headers, was ist an diesem Programm noch falsch? Ich sehe noch zwei Sachen.

    void main und das Semikolon nach dem Funktionskörper.

    @Felixxx: return aus main ist in C++ nicht mehr notwendig; per Default wird aus main 0 zurückgegeben. In Vorstandardzeiten (bzw. Zeiten, bevor standardkonforme Compiler gängig waren), als void main nicht als problematisch angesehen wurde, war ein return aus einer void-Funktion natürlich ebenfalls unnötig.

    Allerdings wäre es womöglich an der Zeit, den Kurs vom Netz zu nehmen; inzwischen ist er in der bestehenden Form auch nicht wirklich hilfreich.



  • unskilled schrieb:

    volkard schrieb:

    Felixxx schrieb:

    return wert

    Nö. Die main() braucht kein return.
    Aber fein, daß Du das Semikolon entdeckt hast.

    seit wann ist das nen fehler? oO

    .h ist auch kein FEHLER. Ich denke ihr wisst was gemeint ist.

    Dass es tatsächlich Leser gibt, die Verständnisschwierigkeiten haben und auch das Buch von J.W. gelesen haben, bezweifle ich nicht, aber dass das alleine von diesem Buch kommt doch sehr stark. Ob ich int ausgabe am anfang deklariere oder erst kurz vor der tatsächlichen Verwendung verändert nicht meine Fähigkeit etwas zu verstehen. Außerdem, wer wird denn nur ein Buch lesen ?



  • seldon schrieb:

    volkard schrieb:

    Zusatzaufgabe: Abgesehen von der Verwendung des alten Nicht-Standard-Headers, was ist an diesem Programm noch falsch? Ich sehe noch zwei Sachen.

    void main und das Semikolon nach dem Funktionskörper.

    @Felixxx: return aus main ist in C++ nicht mehr notwendig; per Default wird aus main 0 zurückgegeben. In Vorstandardzeiten (bzw. Zeiten, bevor standardkonforme Compiler gängig waren), als void main nicht als problematisch angesehen wurde, war ein return aus einer void-Funktion natürlich ebenfalls unnötig.

    Allerdings wäre es womöglich an der Zeit, den Kurs vom Netz zu nehmen; inzwischen ist er in der bestehenden Form auch nicht wirklich hilfreich.

    Ja, das ist mir klar^^ Für Windows ist das wayne. Für DOS war es das nicht.



  • Felixxx schrieb:

    Ja, das ist mir klar^^ Für Windows ist das wayne. Für DOS war es das nicht.

    Erstens ist es nicht wayne. Siehe Rückgabe der ping.exe.
    Zweitens, woher kennst Du DOS?



  • 1. .h an Standardheadern ist ein Fehler.
    2. Wenn du weißt, dass in main kein return notwendig ist, warum hast du sein Fehlen dann als Fehler bezeichnet?

    Übrigens ist ; nach Funktionskörpern ebenfalls ein Fehler; ein standardkonformer Compiler darf so etwas durchaus ablehnen.

    Ansonsten kann es durchaus sein, dass einzelne J.W.-Leser zusätzlich durch andere Quellen verwirrt werden (ich schaue in deine Richtung, Markt+Technik!), aber Wolfs Bücher enthalten viele Fehlinformationen, und die Gefahr ist hoch, dass jemand wie du (zaunpfahl-wink) diese Bücher liest und den Kram darin glaubt, weil sie in einem Buch stehen. Wir kriegen hier viele Leute, die seine Bücher lesen und hier mit Fragen kommen, die gar nicht erst aufgekommen wären, hätten sie vernünftige Bücher gelesen. Darum ist er hier so berüchtigt.

    Obwohl es zugegeben vergleichsweise selten vorkommt, dass jemand sie trotzdem so vehement verteidigt wie du.



  • Felixxx schrieb:

    Ja, das ist mir klar^^ Für Windows ist das wayne. Für DOS war es das nicht.

    Was hat denn die Standardrückgabe mit dem verwendeten Betriebssystem zu tun?


Anmelden zum Antworten