Twitch Youtube Youtube Vidme Facebook Google+ Twitter

Tutorialreihe: C++ von A bis Z [NEU]

C++ Tutorial von A bis Z [NEU]

Hier findest du eine Liste aller im Playlist enthaltener Videos.

Hierbei handelt es sich um eine neue Tutorial-Reihe, die parallel zur bestehenden läuft.

Es kann durchaus vorkommen, dass die YouTube-Playlist und diese Liste hier nicht immer zu 100% übereinstimmen, i.d.R. halte ich das aber synchron.

Eventuelle Materialien, wie z.B. Quellcode, Links etc., befinden sich in der jeweiligen Videobox.

Sollten evtl. Downloadlinks nicht funktionieren, bitte ich dich mir über YouTube oder Facebook als Nachricht mitzuteilen, für welches Video die angeblich vorhandenen Materialien nicht funktionieren bzw. übereinstimmen.

Besten Dank dafür! :)

Videos:

  1. C++ TUTORIAL #000 - Warum C++?

    Materialien:

    • Keine


    Beschreibung:

    Die C++ Tutorial Reihe beginne ich von Neuem, um einen einheitlichen Stil reinzubekommen.
    Die alte Tutorial Reihe bleibt weiterhin bestehen!
    Siehe: ALTE TUTORIAL REIHE: http://goo.gl/DXmOu2
  2. C++ TUTORIAL #001 - Das erstes C++ Projekt: Hello World

    Materialien:



    Beschreibung:

    Hier erzähle ich euch, wie ihr in Visual Studio ein neues C++ anlegen könnt und zeige euch das erste C++-Programm: Hello World.

    Später gehe ich dann in den nachfolgenden Videos genauer auf die hier gezeigte Syntax ein.
  3. C++ TUTORIAL #002 - Präprozessor, Compiler und Linker ganz grob

    Materialien:

    • Keine


    Beschreibung:

    Hier erzähle ich euch extrem grob und vereinfacht, was es mit dem Präprozessor, Compiler und Linker auf sich hat.

    Im späteren Verlauf der Tutorial Reihe werde ich dann ewtas genauer drauf eingehen.
  4. C++ TUTORIAL #003 - Die main Funktion

    Materialien:



    Beschreibung:

    Hier zeige ich euch anhand unseres Hello World Programms die main Funktion etwas genauer. Das dient zum leichten Einstieg in die C++ Syntax.

    - In diesem Video sind C++-Aufgaben enthalten!
    - Bitte versucht die Aufgaben ersteinmal selbst zu lösen!
    - LÖSUNG: https://youtu.be/50gSXDuvLWU
  5. [LÖSUNG] C++ TUTORIAL #003 - Die main Funktion

    Materialien:



    Beschreibung:

    Einige C++-Tutorials aus der Reihe "C++ Tutorial von A bis Z" enthalten Übungsaufgaben.
    Zu diesen Aufgaben veröffentliche ich Musterlösungen.

    Die Lösungs-Videos sind daran zu erkennen, dass im Thumbnail der Begriff "Lösung" zu sehen ist.

    Zudem ist ein solches Lösungs-Video mit der Bezeichnung "[LÖSUNG]" kennzeichnet, gefolgt vom Original-Titel des Videos, in dem die Übungsaufgabe(n) gestellt wurden.

    Dieses Video hier ist ein solches Lösungs-Video.

    Ihr findet im Folgenden einen Direktlink zum C++ Video-Tutorial, in dem die Aufgabe(n) gestellt wurden.

    Dieses Video ist die LÖSUNG für folgendes C++ Video-Tutorial:
    - C++ TUTORIAL #003 - Die main Funktion: https://youtu.be/HOR5FIlebhc
  6. C++ TUTORIAL #004 - Die Idee hinter Variablen

    Materialien:



    Beschreibung:

    Hier zeige ich euch, wie man Speicherplatz anfordert und versuche die Idee zu vermitteln, warum wir das tun müssen.

    Bevor wir uns an die Datentypen in C++ ranmachen können, sollten wir erst verstehen, wozu wir Speicherplatz brauchen.

    Ein Grundprinzip von Programmen ist das EVA-Prinzip (Eingabe Verarbeitung Ausgabe). Darauf gehe ich hier grob ein.
  7. C++ TUTORIAL #005 - Primitive Datentypen

    Materialien:

  8. C++ TUTORIAL #006 - C Array

    Materialien:

    • Keine


    Beschreibung:

    Hier zeige ich euch, welche primitive Datentypen C++ kennt und wie man diese deklariert.
  9. C++ TUTORIAL #007 - Escapesequenzen

    Materialien:

    • Keine


    Beschreibung:

    Hier zeige ich euch, was Escapesequenzen sind, wie ihr sie bentutzt und welche häufig anzutreffen sind.
  10. C++ TUTORIAL #008 - Gültikeitsbereich & Sichtbarkeitsbereich (Scope)

    Materialien:

    • Keine


    Beschreibung:

    Hier zeige ich euch, wann eine Variable (genauer: ein Bezeichner) nicht mehr sichtbar und nicht mehr gültig ist. Ich erkläre auch, was es mit der Gültigkeit und Sichtbarkeit einer Variablen (eines Bezeichners) auf sich hat und gehe auch etwas auf den globalen Gültigkeitsbereich ein (global scope).
  11. C++ TUTORIAL #009 - Kontrollstrukturen: if-Verzweigung

    Materialien:

    • Keine


    Beschreibung:

    Hier zeige ich euch einleitend die if-Verzweigung, die ich ich späteren Zeitpunkt weiter vertiefen werde.

    - In diesem Video sind C++-Aufgaben enthalten!
    - Bitte versucht die Aufgaben ersteinmal selbst zu lösen!
    - LÖSUNG: https://youtu.be/nRcXMUfvFWw
  12. [LÖSUNG] C++ TUTORIAL #009 - Kontrollstrukturen: if-Verzweigung

    Materialien:

    • Keine


    Beschreibung:

    Einige C++-Tutorials aus der Reihe "C++ Tutorial von A bis Z" enthalten Übungsaufgaben.
    Zu diesen Aufgaben veröffentliche ich Musterlösungen.

    Die Lösungs-Videos sind daran zu erkennen, dass im Thumbnail der Begriff "Lösung" zu sehen ist.

    Zudem ist ein solches Lösungs-Video mit der Bezeichnung "[LÖSUNG]" kennzeichnet, gefolgt vom Original-Titel des Videos, in dem die Übungsaufgabe(n) gestellt wurden.

    Dieses Video hier ist ein solches Lösungs-Video.

    Ihr findet im Folgenden einen Direktlink zum C++ Video-Tutorial, in dem die Aufgabe(n) gestellt wurden.

    Dieses Video ist die LÖSUNG für folgendes C++ Video-Tutorial:
    - C++ TUTORIAL #009 - Kontrollstrukturen: if-Verzweigung: https://youtu.be/cXkVEgh5BhI
  13. C++ TUTORIAL #010 - Kontrollstrukturen: else if

    Materialien:

    • Keine


    Beschreibung:

    Hier zeige ich euch, dass C++ eigentlich keine else if kennt und dass es sich hierbei eigentlich nur um if else Konstrukte handelt. Ich zeige euch hier auch anhand eines Beispiels, wie man mittels else if mehrere Verzweigungen erzeugen kann und wo sie Sinn machen. Welche Vorteile else if haben erkläre ich auch.
  14. C++ TUTORIAL #011 - Kontrollstrukturen: Verknüpfen von mehreren Bedingungen

    Materialien:

    • Keine


    Beschreibung:

    Hier führe ich euch in die Booleschen Operatoren && (AND) und || (OR) ein und erkläre, wie ihr mehrere Bedingungen logisch miteinander verknüpfen könnt.

    - In diesem Video sind C++-Aufgaben enthalten!
    - Bitte versucht die Aufgaben ersteinmal selbst zu lösen!
    - LÖSUNG: https://youtu.be/TfNXwHSwnU0
  15. [LÖSUNG] C++ TUTORIAL #011 - Kontrollstrukturen: Verknüpfen von mehreren Bedingungen

    Materialien:

    • Keine


    Beschreibung:

    Einige C++-Tutorials aus der Reihe "C++ Tutorial von A bis Z" enthalten Übungsaufgaben.
    Zu diesen Aufgaben veröffentliche ich Musterlösungen.

    Die Lösungs-Videos sind daran zu erkennen, dass im Thumbnail der Begriff "Lösung" zu sehen ist.

    Zudem ist ein solches Lösungs-Video mit der Bezeichnung "[LÖSUNG]" kennzeichnet, gefolgt vom Original-Titel des Videos, in dem die Übungsaufgabe(n) gestellt wurden.

    Dieses Video hier ist ein solches Lösungs-Video.

    Ihr findet im Folgenden einen Direktlink zum C++ Video-Tutorial, in dem die Aufgabe(n) gestellt wurden.

    Dieses Video ist die LÖSUNG für folgendes C++ Video-Tutorial:
    - C++ TUTORIAL #011 - Kontrollstrukturen: Verknüpfen von mehreren Bedingungen: https://youtu.be/NcXo3ZgE-Rg
  16. C++ TUTORIAL #012 - switch

    Materialien:

    • Keine


    Beschreibung:

    In diesem Video erkläre ich euch die switch-Anweisung, wie sie als if else - Alternative gebraucht werden könnte und erzähle euch, was bei der switch in C++ zu bachten ist.
  17. C++ TUTORIAL #013 - switch Beispiel 1: switch mit fehlenden breaks

    Materialien:

    • Keine


    Beschreibung:

    Hier vertiefe ich das Thema switch-Anweisungen in C++ und zweige euch ein Beispiel, wo es Sinn macht, die break-Anweisungen in den cases wegzulassen.
  18. C++ TUTORIAL #014 - while Schleife (kopf- und fußgesteuert)

    Materialien:

    • Keine


    Beschreibung:

    Hier führe ich euch in die Schleifen ein und erkläre euch die while-Schleife. Wir beginnen mit der kopfgesteuerten while-Schleife, dann alternativ die Lösung mit der fußgesteuterten Variante (do-while).

    Anschließend kommt ein Beispiel mit einer Menü-Führung und das versprochene zweite Beispiel bzgl. der switch-Anweisung. In Kombination mit der while-Schleife und einer switch-Anweisung zeige ich euch, was mit diesen einfachen Werkzeugen alles möglich geworden ist.

    - In diesem Video sind C++-Aufgaben enthalten!
    - Bitte versucht die Aufgaben ersteinmal selbst zu lösen!
    - LÖSUNG: https://youtu.be/V6l5_Bvx0S
  19. [LÖSUNG] C++ TUTORIAL #014 - while Schleife (kopf- und fußgesteuert)

    Materialien:

    • Keine


    Beschreibung:

    Einige C++-Tutorials aus der Reihe "C++ Tutorial von A bis Z" enthalten Übungsaufgaben.
    Zu diesen Aufgaben veröffentliche ich Musterlösungen.

    Die Lösungs-Videos sind daran zu erkennen, dass im Thumbnail der Begriff "Lösung" zu sehen ist.

    Zudem ist ein solches Lösungs-Video mit der Bezeichnung "[LÖSUNG]" kennzeichnet, gefolgt vom Original-Titel des Videos, in dem die Übungsaufgabe(n) gestellt wurden.

    Dieses Video hier ist ein solches Lösungs-Video.

    Ihr findet im Folgenden einen Direktlink zum C++ Video-Tutorial, in dem die Aufgabe(n) gestellt wurden.

    Dieses Video ist die LÖSUNG für folgendes C++ Video-Tutorial:
    - C++ TUTORIAL #014 - while Schleife (kopf- und fußgesteuert): https://youtu.be/GfT87s8QXF0
  20. C++ TUTORIAL #015 - Die for-Schleife

    Materialien:

    • Keine


    Beschreibung:

    Hier erkläre euch eine weitere Schleife: die for-Schleife.
    Ich zeige euch, was die unterschiedlichen Bereiche im Schleifenkopf bedeuten und was der Unterscheid einer for-Schleife gegenüber einer while-Schleife ist. Durch ein Beispiel zeige ich, welchen Vorteil eine for-Schleife hat und warum man diese gerne für Wiederholungen nutzt, die "zählbar" sind.
  21. C++ TUTORIAL #016 - verschachtelte for-Schleife

    Materialien:

    • Keine


    Beschreibung:

    Hier zeige ich anhand eines kleinen Beispiels, wie for-Schleifen geschachtelt verwendet werden. Viele Algorithmen nutzen verschachtelte for-Schleifen. Ein häufiges Szenario ist der Vergleich eines Wertes mit einer Menge anderer Werte. Sortier- bzw. Such-Algorithmen bedienen sich oftmals solcher verschachtelter Schleifen.
  22. C++ TUTORIAL #017 - Mehrdimensionale Arrays

    Materialien:

    • Keine


    Beschreibung:

    Hier zeige ich euch, wie ihr mehrdimensionale Arrays in C++ deklariert und initialisiert. Im Kern behandeln wir hier zwei-dimensionale Arrays, allerdings zeige ich euch auch hier wie drei-dimensionale Arrays (oder mehr) aussehen. Wie man mehrdimensionale Arrays ausgeben kann, sehen wir anhand eines kleinen Beispiels. Für die Ausgabe benutzen wir hierbei verschachtelte for-Schleifen und lernen durch geschickte Ausgabe, die Daten in Tabellenform auszugeben. Ich gebe euch einen kurzen Einblick in die C++11 Array Klasse (mehrdimensionale Arrays mit C++11 arrays), was ich aber als Thema für sich in einem späteren Tutorial gesondert behandeln werde.
  23. C++ TUTORIAL #018 - continue & break

    Materialien:

    • Keine


    Beschreibung:

    In diesem Video führe ich in die C++ Schlüsselwörter continue und break ein. Wir haben break im Zusammenhang mit switch bereits kennengelernt. Allerdings finden continues und breaks besonders im Zusammenspiel von Schleifen eine Bedeutung. Hier erkläre ich euch, was diese zwei Begriffe tun und wie wir sie verwenden können. Primär ist das Ziel, euch die Idee dieser Schlüsselwörter zu vermitteln - sprich: ein Verständnis für sie zu schaffen. In der Tutorial-Reihe werden sie immer mal wieder auftauchen. Wichtig ist, dass ihr sie gesehen habt und wisst, was sie tun.
  24. C++ TUTORIAL #019 - Operatoren und ihre Vorrangsregeln (Ausführ-Reihenfolge)

    Materialien:

    • Keine


    Beschreibung:

    Hier zeige ich euch in einer Übersicht die gängigsten C++ Operatoren und ihre Ausführ-Reihenfolgen. Jeder Operator in C++ unterliegt einer Vorrangsregel. In einem einzigen Ausdruck lassen sich mehrere Operatoren verwenden. Und je nach Operator und der Position in der sie stehen, werden sie unterschiedlich bevorzugt ausgeführt.
    Zudem lernen wir den ternären Operator ?: kenne. Eine kompakte Form des if-else. Auch die kompakte Schreibweise der arithemtischen Ausdrücke (+=, -=, *=, /= und %=) werden hier kurz aufgeführt.
  25. C++ TUTORIAL #020 - Inkrement (++) & Dekrement(--) als Postfix & Präfix (Aufnahme Version 1)
    C++ TUTORIAL #020 - Inkrement (++) & Dekrement(--) als Postfix & Präfix (Aufnahme Version 2)

    Materialien:

    • Keine


    Beschreibung:

    Hier lernen wir den Inkrement- (++) und Dekrement- (--) Operator kennen. Dabei zeige ich euch die Unterschiede zwischen folgenden Schreibweisen:
    ++i (Präfix)
    und
    i++ (Postfix)

    Hierbei handelt es sich ersteres um die Präfix-Notation (Schreibweise), das zweite Beisiel ist die Postfix-Variante. Wir lernen hier das unterschiedliche Verhalten kennen und sehen kleine Beispiele dazu.
  26. C++ TUTORIAL #021 - Zeiger (Raw Pointer): Deklaration und ein Blick unter die Haube


    Materialien:

    • Keine


    Beschreibung:

    In diesem Video werde ich versuchen, mit euch etwas unter die Haube des Speichers zu schauen. Wir werden verstehen lernen, wie Variablen im Speicher angelegt werden, was es mit den Variablennamen auf sich hat und wir werden verstehen lernen, dass jede Variable im Speicher über eine eigene Adresse verfügt.

    Erst wenn wir verstehen, dass wir es mit Speicheradressen zu tun haben, kommen wir dem Verständis der Zeiger näher. Zeiger sind nämlich Variablen, die Adressen speichern können. Ohne das Verständis, wie Werte im Speicher gehandhabt werden, wird es vorallem für den Anfänger schwer, Zeiger zu begreifen.

    Hinzu kommt, dass C++ eine typisierte (typsichere) Programmier-Sprache ist. Wir haben erschwert also auch noch damit zu tun, dass der Compiler ein Auge darauf wirft, welche Arten von Werten wir speichern, was das Thema Zeiger noch etwas intensiviert.

    Am Ende nach den Kapiteln zu Zeiger (Raw-Pointer), werden wir keine Probleme mehr mit Zeiger haben.
  27. C++ TUTORIAL #022 - Zeiger (Raw Pointer): Deferenzierung und C++ Referenzen


    Materialien:

    • Keine


    Beschreibung:

    In diesem Video lernen wir kennen, wie wir Zeiger dereferenzieren. Dabei lernen wir den Dereferenzier-Operator kennen und ich zeige euch, was die Tücken sind, wenn man Zeiger verwendet. Hierbei fällt der Begriff "wilder Zeiger" und wie man diese vermeiden kann.

    Darüberhinaus lernen wir die C++ Referenzen kennen und wie man diese deklariert. Das Verständis wird mit den späteren Kapiteln wie "Call-by-Value" und "Call-by-Reference" weiter vertieft und auch verständlicher.
  28. C++ TUTORIAL #023 - Einführung in Funktionen


    Materialien:

    • Keine


    Beschreibung:

    In diesem Video lernen wir die Funktionen anhand einiger Beispiele kennen. Ich vermittle euch die Idee, weshalb man eigene Funktionen programmiert und welche Vorteile sie bieten. Wir lernen hier einführend, wie man eine Funktion deklariert und ausführt und was es mit dem Rückgabetyp und der Parameterliste auf sich hat. In den nachfolgenden Video werden wir dann tiefer einsteigen und die Begriffe Call-By-Value und Call-By-Reference kennenlernen.
  29. C++ TUTORIAL #024 - Call-by-Value und Call-by-Reference


    Materialien:

    • Keine


    Beschreibung:

    Hier erkläre ich euch die Unterschiede zwischen Call-By-Value und Call-By-Reference. Ich zeige euch die Vor- und Nachteile zwischen diesen Varianten und wie sich Call-By-Reference mit Zeigern realisieren lässt.

    Ferner erkläre ich euch kurz die Bedeutung des "const correctness" und zeige euch ein kleines Beispiel, wie man mittels Referenzen mehr als ein Rückgabetyp aus einer Funktion erhalten kann.
  30. C++ TUTORIAL #025 - L-Wert & R-Wert (lvalue & rvalue)


    Materialien:

    • Keine


    Beschreibung:

    In diesem Video versuche ich euch die Begriffe L-Wert und R-Wert (lvalue & rvalue) näher zu bringen.div>
  31. C++ TUTORIAL #026 - Funktionen: Deklaration und Definition


    Materialien:



    Beschreibung:

    In diesem Video greifen wir ein Code-Beispiel von früher auf und lernen, wie wir Code in Funktionen auslagern können. Dazu zeige ich in einem Beispiel, wie man zwischen einer Funktions-Deklaration und einer Funktions-Definition unterscheidet. Es fallen zudem Begriffe wie Prototyp und Vorwärtsdeklaration, die ich im Beispiel und einer anschlie├čenden Aufgabe genauer erkläre.

    - In diesem Video sind C++-Aufgaben enthalten!
    - Bitte versucht die Aufgaben ersteinmal selbst zu lösen!
    - LÖSUNG: https://youtu.be/YPBj0OsgSV0
  32. [LÖSUNG] C++ TUTORIAL #026 - Funktionen: Deklaration und Definition

    Materialien:

    • Keine


    Beschreibung:

    Einige C++-Tutorials aus der Reihe "C++ Tutorial von A bis Z" enthalten Übungsaufgaben.
    Zu diesen Aufgaben veröffentliche ich Musterlösungen.

    Die Lösungs-Videos sind daran zu erkennen, dass im Thumbnail der Begriff "Lösung" zu sehen ist.

    Zudem ist ein solches Lösungs-Video mit der Bezeichnung "[LÖSUNG]" kennzeichnet, gefolgt vom Original-Titel des Videos, in dem die Übungsaufgabe(n) gestellt wurden.

    Dieses Video hier ist ein solches Lösungs-Video.

    Ihr findet im Folgenden einen Direktlink zum C++ Video-Tutorial, in dem die Aufgabe(n) gestellt wurden.

    Dieses Video ist die LÖSUNG für folgendes C++ Video-Tutorial:
    - C++ TUTORIAL #026 - Funktionen: Deklaration und Definition: https://youtu.be/4UUn4iFv6eY
  33. C++ TUTORIAL #027 - Funktionen überladen


    Materialien:

    • Keine


    Beschreibung:

    In diesem Video zeige ich euch, wie man Funktionen in C++ überladen kann. Ich erkläre hier, wie der Compiler durch Ermittlung der passenden Signatur es schafft, die richtige Funktion aufzurufen. Dabei gehe ich darauf ein, was es mit der "Mehrdeutigkeit von Funktionsaufrufen" auf sich hat.
  34. C++ TUTORIAL #028 - Literale & Suffixe


    Materialien:

    • Keine


    Beschreibung:

    In diesem Video erkläre euch den Begriff "Literal" und zeige euch, welche Arten von Literale es in C++ gibt, die man zumindest mal gesehen haben sollte.
  35. C++ TUTORIAL #029 - Referenzen


    Materialien:

    • Keine


    Beschreibung:

    In diesem Video greife ich das Thema C++ Referenzen auf und zeige euch wiederholt, wie diese mit Funktionsaufrufen verwendet werden (Call-By-Reference). Dabei erkläre ich euch die Zusammenhänge bzw. Unteschiede zu Zeigern. Besonders deutlich zeigen diese sich im Funktionsaufruf (aktuelle Parameter) und im Funktionskopf der aufgerufenen Funktion (formale Paramer).
  36. C++ TUTORIAL #030 - Funktions-Templates


    Materialien:

    • Keine


    Beschreibung:

    In diesem Video zeige ich euch, was Funktions-Templates sind und wie sie funktionieren. Wir lernen, wie wir durch Funktions-Templates auf eine "generische" Art und Weise im Prinzip "Funktions-Überladungen" machen.

    Ich erkläre euch, was der Compiler mit dem Template anstellt und wie er herausfindet, welche Funktion aus dem Template "gegossen" werden soll.

    Templates sind nur Vorlagen, die für die "Generierung" der eigentlichen Funktion (als Schablone) benutzt wird.
  37. C++ TUTORIAL #031 - Funktions-Templates - Beispiel: Bubblesort


    Materialien:

    • Keine


    Beschreibung:

    In diesem Video sehen wir ein konkretes Beispiel, wie und wo man Funktions-Templates einsetzen kann. Wir sehen ein einfaches Beispiel mit dem Bubblesort, einem einfachen Sortieralgorithmus.

    Ein Tutorial zum Bubblesort findet ihr hier:
    https://www.youtube.com/watch?v=Hi8QB7aawog

    Hier hilft der Funktions-Template uns, einen Bubblesort zu implementieren, der mit Arrays aus unterschiedlichen Datentypen zurechtkommt.
  38. C++ TUTORIAL #034 - Aufzählungstyp (enum) - Wichtige Vertiefung durch ein Beispiel


    Materialien:

    • Keine


    Beschreibung:

    Auf Basis des Videos "Aufzählungstyp (enum)" ( https://youtu.be/bf1YOzp6v4E ) vertiefen wir hier unser Verständis durch ein Praxisbeispiel und lernen, welche Tücken enums haben.

    Besonders die Auflösung des enums für die Ausgabe oder das Einlesen von Werten in ein enum bereiten anfangs besonders Probleme.

    Hier erkläre ich euch, welches Workaround manchmal für den Einsatz von enums nötig ist.