C++] Strukturen



  • Na ja, WinAPI, OpenGL und diverse Bibliotheken arbeiten noch mit C-Strings. Im alten Standard muss man für fstream auch die Strings zu C-Strings machen... Die begegnen einem schon überall und immer wieder. Und es ist wichtig, dass man den internen Aufbau versteht. Ich würde die Dinger schon erklären und lehren, aber halt nicht bis zum Erbrechen.

    Cool fände ich in C++ aber den Ansatz Strings vor Arrays zu erklären und bei der Erklärung von Arrays dabei langsam wieder string zu erklären (so ist ein string eigentlich auch nur eine Verkettung von chars). Und dann: Was, wenn wir nicht nur Zeichen verketten wollen, sondern ganz andere Objekte? Und dann kommt der Sprung zu den Containern.

    Hm, ich hätte Lust ein C++-Tut zu schreiben. 🙂



  • Eisflamme schrieb:

    Ich würde die Dinger schon erklären und lehren, aber halt nicht bis zum Erbrechen.

    ..und nicht gleich zu Beginn. Ich würde erst erklären wie man sie benutzt, dann erklären, wie sie denn funktionieren. Vorher sollte man auf std::vector und co eingehen, finde ich.



  • Durch zitierst den letzten Satz meines ersten Absatzes, um einen Teil meines zweiten umzuformulieren? :p SCNR



  • Upps..
    Dein erster Satz hat kein Komma, es ist öde in eine Landschaft ohne Satzzeichen zu blicken.. Ich musste ihn 3 mal lesen, um ihn zu verstehen 😞



  • Huch, welcher Satz? Der meines zweiten Absatzes? Aber da ist doch ein und, das trennt Teil 1 von Teil 2. 😕



  • So ich habe nun eine Antwort bekommen, die ich hier mal poste:

    Jürgen Wolf schrieb:

    Sehr geehrter Herr Schröder,

    Es tut mir natürlich sehr leid, dass sie mit dem Buch nicht zufrieden sind.

    Jeder Autor hat seine Art und Weise etwas zu erklären. Man überlegt sich, wie erkläre ich es am Besten ohne zuviel vorwegzunehmen. Die Zeiger wurden zu Beginn erklärt, um den Leser nicht gleich mit Klassen und Datenstruktur gleichzeitig zu bombardieren. Ebenso war es bei anderen Dingen im Kapitel 2 (wo sie am meisten Kritik geschrieben haben).

    Ein Problem dürfte wohl für viele Leser sein, dass ich im Buch die Dinge wie std::string und std:vector hinten im Buch beschreibe und so eben nicht immer vorgreifen zu müssen. Das dürfte wohl auch die Hauptkritik der meisten Leser sein. Würde ich hier gleich auf std::string oder std::vector zurückgreifen, hätte ich auch nicht soviel "C mit Klassen" (wie sie es bezeichnen) verwenden müssen.

    Ich habe diese Kritik natürlich auch zu Herzen genommen und bereits in meinem C++-Taschenbuch einfließen lassen. Auch die nächste Auflage des C++-Handbuches wird sicherlich komplett anders aussehen. Viele nützlich Verbesserungen habe ich ja schon und außerdem kommt ja auch noch der neue C++-Standard dazu.

    Mit besten Grüße
    Jürgen Wolf



  • Genau, die Hauptkritik liegt in der Didaktik, nicht etwa in seinen Fehlern. Solchen Leuten kannst Du nichts erzählen. Überhaupt sollte Kritik nicht an Jürgen Wolf gehen, der Typ ist einfach viel zu engstirnig. Man sollte eher den Verlag dazu bewegen, von dem Verlag seiner Bücher wegzugehen. Aber die kümmert es wohl nicht, wenn falsche Informationen verkauft werden, solange sich's verkauft. -.-



  • Ja, da hast du wohl recht. Den Verlag kriegen wir sicher nicht überredet, dem gehts nur ums Geld.

    Dem Autor (eines Programmierbuches) hingegen meist aber nicht. Bleibt also nur zu hoffen, dass er sich unsere Kritik zu Herzen nimmt und eine neue, komplett veränderte Auflage herausgibt und die alte als unsicher und falsch deklariert.

    Da kann man nichts machen..



  • Frag ihn, ob er uns den Text auch in Deutsch geben kann.



  • Selbst die WinAPI ist nicht unbedingt ein Argument für C-Strings. Ein std::vector<char> kann auch hier häufig als sicherere Alternative gewählt werden.


Anmelden zum Antworten