C++ Anfänger braucht Tipps



  • Sehr geehrte C++ Community,

    ich versuche mir selbstständig mit Videos / Foren beizubringen, die Sprache zu beherrschen.
    Es fällt mir sehr schwer, da es lange dauert und ich gar nicht zu einem Projekt kommen kann, da ich jedes einzelne Vokabular lerne.

    #include <iostream>
    
    int main(void)
    {
    	std::cout << "Erste Zeile";
    }
    

    Ganz Nett die kleinen Sachen zu verstehen, aber gibt es auch andere Methoden, um schneller zu lernen anstatt alles zu "Googlen" ?

    Crashkurse?

    Irgendwelche Links, die Ihr damals benutzt habt, um die Komplexe Sprache zu lernen?

    Auch wenn die Frage hier weniger rein gehört, hoffe ich dass es hier zugelassen wird, für jeden Anfänger, den es schwer ergeht, mit der Sprache und das Programmieren.

    Gruß, IWTBD.



  • Bücher! Bei guten Büchern hat er Autor ein Konzept, mit dem er dich durch das Buch führt und passende Aufgaben am Ende jedes Kapitels stellt.
    Ich kann dir das Buch C++ programmieren von Ulrich Breymann empfehlen, ansonsten gibt es hier im Forum wohl noch einen Abschnitt mit Buchempfehlungen. C/C++ Bücher von Jürgen Wolf solltest du meiden wie die Pest, auch wenn die Google/Amazon Rezensionen gut ausfallen.



  • @IWTBD sagte in C++ Anfänger braucht Tipps:

    int main(void) // <== wo kommt das "void" her?

    Ich würde damit anfangen, kleine Programme zu schreiben - ich habe immer mit so kleinen Dingen wie "irgendwas berechnen" angefangen, also z.B. den größten gemeinsamen Teiler, Fibonacci-Zahlen usw. Du kannst aber auch mit Strings anfangen, also zum Beispiel den String wortweise umdrehen, sodass aus "Es ist schönes Wetter" mal "umdrehen" der String "Wetter schönes ist Es" wird.

    Jedenfalls egal welches Lehrmaterial du nutzt, es ist wichtig, nicht nur zu lesen, sondern auch mal selbst was zu schreiben/auszuprobieren.

    In deinem Beispielcode oben steht z.B. ein "void" in den Klammern von main. Das wird in C benötigt, in C++ ist es allerdings überflüssig. Wenn du C++ lernen willst (und nicht C), dann sollte sichergestellt sein, dass dein Lehrmaterial auch C++ (und nicht C mit ein paar Dingen aus C++) lehrt.

    Zu den guten Büchern gehören u.a. der Breymann (auf Deutsch) oder auch der "C++ Primer" von Lippman.



  • So ähnlich oder gar schlechter habe ich auch mal angefangen...

    Ich kann Dir nur sagen, wie meine Erfahrung war: Ich hatte damals den Eindruck, dass viele Leute nicht sich hineinversetzen können in die Belange eines Anfängers.
    Ich kann das daran fest machen, da sie immer bescheuert komplizierte Fachbegriffe verwendet haben, mit dem ein 12-16-jähriger Anfänger gewöhnlich überfordert werden kann. Ich hoffe, ich gehöre jetzt damit nicht zu denen, aber hier sind meine Vorschläge:

    Wenn Du Englisch kannst, gibt es das:

    Wenn Du auch, so wie ich meinst, dass C nicht schadet und Englisch okay ist, dann schau mal bei Jacob Sorber vorbei:

    https://www.youtube.com/c/JacobSorber/videos

    Wobei es kann sein, dass das für einen evtl. Nicht-Informatiker zu viel Ablenkung ist. Wenn ich etwas finde und Du noch Bedarf hast, werde ich mich nochmals umschauen und dann bei Bedarf nochmal ein Update geben. Momentan fallen mir nur die ein...

    Ah, das noch, aber das ist eher so C++98? Wobei ein alter C++-Standard schadet nicht wirklich meiner Meinung nach, aber ich höhere wieder meine kleinlichen Kritiker herumschreien:

    http://cplusplus.com/doc/tutorial/

    Wenn das auch nichts ist, dann kannst Du es mit einem ganz, ganz einfachen Buch versuchen. Evtl. musst Du dann gewisse Ungenauigkeiten verlernen… (Man muss, vereinfachen, wenn man etwas erklären will und je nachdem, was man auslässt, muss man mit "Zinsen" zurückbezahlen. Aber ist nicht weiter tragisch. Man braucht eben Durchhaltekraft.)

    Aktuelle deutsche Literatur ist mir nicht so bekannt, leider...

    Lies das Fette nicht, wenn Du verwirrt bist und nicht noch sicher im Umgang mit Zeigern bist:

    Leute sind manchmal oder gefühlt oft extrem kleinlich und überreagieren, wenn Du Sachen sagst, wie "C++-Referenzen sind eingeschränkte Zeiger und entsprechen T * const x in C. Meiner Meinung nach versteht man C++ besser, wenn man in C Sachen wie Polymorphie, Exceptions etc. implementiert. Man kann in C sowohl objektorientiert als auch funktional programmieren. Funktional wirkt etwas hässlich in C... Lange Rede, kurzer Sinn: viele Wege führen nach C++. Man muss nicht unbedingt C davor lernen. Und ja ihr Kritiker mit "modernes idiomatisches C++ hat 0 gemeinsam mit C." Ich widerspreche Euch!!! Aber auch hier gilt, wie Du siehst, es gibt unterschiedliche Meinungen und Eigenbrötler wie ich werden vernichtet.

    Und denk daran, meine Meinung ist eine von vielen. Evtl. findest Du Deinen eigenen Weg. Viel Erfolg und Durchhaltevermögen. Ich hoffe, ich habe nicht mein altes ich in Dich hineinprojiziert und zu viel pauschalisiert...


  • Mod

    Bitte hör auf, zu jedem monatealten Thread deinen Senf dazu zu geben! IWTBD ist jetzt garantiert nicht mehr an einer Antwort auf diese Frage interessiert.


Anmelden zum Antworten