namespace cpp {}

C++ lernen, kennen, anwenden

Benutzer-Werkzeuge

Webseiten-Werkzeuge


lernen:grundlagen

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.


lernen:grundlagen [2022-05-22 16:10] (aktuell) – angelegt - Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 +====== C++ (programmieren) lernen ======
 +
 +> Gewöhnlich glaubt der Mensch, wenn er nur Worte hört, es müsse sich dabei auch was denken lassen.
 +>> --- Mephisto
 +
 +===== Was =====
 +
 +  * [[.:minikurs:inhalt|Minikurs]]: Eine Einführung in das Programmieren zeigt grundlegende Schritte und Denkweisen von Programmierern.
 +  * [[algorithmen|Algorithmen]] gab es schon lange vor den Computern. Theorie und Komplexität in Beispielen.
 +  * [[stapeln|"HochStapeln"]] mit C++ demonstriert mögliche Programmiertechniken in dieser Multi-Paradigmen-Sprache, siehe auch diese {{stile.pdf|PDF-Datei}}.
 +  * [[datum|Wie alt bist du?]] Die Jahre zählen kann jeder. Aber wenn es auf jeden Tag ankommt? Willkommen auf einer kleiner Abenteuerreise von der Aufgabenstellung bis zum lauffähigen Programm. Es gibt mehr als einen Weg zum Ziel und es erfordert viele Schritte bis dahin. Zumeist sieht man nur das fertige (unverständliche) Ergebnis. Hier habe ich versucht, alle Zwischenstufen aufzuzeichnen.
 +  * [[goto|goto Spaghetti]] reflektiert eine nie endende Debatte. Ein verführerisches Sprachmittel zeigt sich von seiner schlechtesten Seite.
 +
 +===== Womit =====
 +
 +  * [[cmake]] und [[doctest]]: Werkzeuge zum Übersetzen und Testen
 +  * [[conan]]: Wie bindet man fremde Bibliotheken ein?
 +
 +===== Warum =====
 +
 +Gerade Anfänger sollten nicht nur das "Wie" erlernen. Genauso wichtig sind Fragen nach dem "Warum". Hier einige Aufsätze, die nicht an einer konkreten Programmieraufgabe kleben, dafür aber mir wichtige Denkweisen erläutern. Zum Teil sehr lang, ich hoffe, trotzdem lesenswert und hilfreich:
 +
 +  *  Eine [[checklist|Checkliste]] für Klassenautoren, nach einem Text von [[http://www.acceleratedcpp.com/authors/koenig/ |Andrew Koenig]].
 +  *  Was ist [[const|const correctness]]? Hier ist eine Ode an ein Schlüsselwort.
 +  *  [[eastconst]] : Wohin muss das Wörtchen ''const''?
 +  *  Wie werden Klassenbeziehungen in C++ umgesetzt? [[baustein|Bausteine, Aggregate, Assoziationen]] auf dem Weg von UML zum Quelltext.
 +  *  [[eigentum|Eigentum verpflichtet.]] Der Satz aus dem Grundgesetz gilt auch für den korrekten Umgang mit dynamischem Speicher in C++.
 +  *  Wie nenne ich das Ding? Bevor man sich entscheidet, sollte man die [[naming|Möglichkeiten]] kennen. [[ungarn|Ungarische Notation]] ist nur eine davon.
 +  *  [[document|Dokumentation]] ist wichtig, aber schwer. Warum eigentlich?
  

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki