C++: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
imported>Import Version 175 |
Keine Bearbeitungszusammenfassung |
||
| Zeile 2: | Zeile 2: | ||
---- | ---- | ||
== Weblink == | ==Weblink== | ||
* Tim Buchalka / Frank Mitropoulos Beginning C++ Programming - From Beginner to Beyond | |||
== Grundlagen (Monat 1) == | == Grundlagen (Monat 1) == | ||
* '''Woche 1: Einführung und Setup''' | * '''Woche 1: Einführung und Setup''' | ||
** Installation eines Compilers (z. B. GCC, Clang oder MSVC) und einer IDE (z. B. Visual Studio, CLion oder VS Code). | ** Installation eines Compilers (z. B. GCC, Clang oder MSVC) und einer IDE (z. B. Visual Studio, CLion oder VS Code). | ||
** Das erste | ** Das erste "Hello World"-Programm schreiben und den Kompilierungsprozess verstehen. | ||
** Grundlegende Datentypen (int, char, float, double, bool) und Variablen verstehen. | ** Grundlegende Datentypen (int, char, float, double, bool) und Variablen verstehen. | ||
** Einfache Ein- und Ausgabe mit <code>std::cin</code> und <code>std::cout</code>. | ** Einfache Ein- und Ausgabe mit <code>std::cin</code> und <code>std::cout</code>. | ||
| Zeile 17: | Zeile 16: | ||
** Schleifen: <code>for</code>, <code>while</code>, <code>do-while</code>. | ** Schleifen: <code>for</code>, <code>while</code>, <code>do-while</code>. | ||
* '''Woche 3: Funktionen''' | * '''Woche 3: Funktionen''' | ||
** Deklaration vs. | ** Deklaration vs. Definition von Funktionen. | ||
** Parameterübergabe: Call by Value, Call by Reference und Call by Pointer. | ** Parameterübergabe: Call by Value, Call by Reference und Call by Pointer. | ||
** Rückgabewerte und der Typ <code>void</code>. | ** Rückgabewerte und der Typ <code>void</code>. | ||
| Zeile 26: | Zeile 25: | ||
== Fortgeschrittene C++ Konzepte (Monat 2) == | == Fortgeschrittene C++ Konzepte (Monat 2) == | ||
* '''Woche 5: Zeiger und Speicherverwaltung''' | * '''Woche 5: Zeiger und Speicherverwaltung''' | ||
** Zeiger (Pointers) und Referenzen: Grundlagen, Syntax und Unterschiede. | ** Zeiger (Pointers) und Referenzen: Grundlagen, Syntax und Unterschiede. | ||
| Zeile 45: | Zeile 43: | ||
== Moderne C++ Features (Monat 3) == | == Moderne C++ Features (Monat 3) == | ||
* '''Woche 9: C++ Standardbibliothek (STL) - Die Container''' | * '''Woche 9: C++ Standardbibliothek (STL) - Die Container''' | ||
** Sequenzielle Container: <code>std::vector</code>, <code>std::list</code>, <code>std::deque</code>. | ** Sequenzielle Container: <code>std::vector</code>, <code>std::list</code>, <code>std::deque</code>. | ||
| Zeile 51: | Zeile 48: | ||
* '''Woche 10: STL - Algorithmen und Iteratoren''' | * '''Woche 10: STL - Algorithmen und Iteratoren''' | ||
** Iteratoren: Konzepte, Typen und wie man navigiert. | ** Iteratoren: Konzepte, Typen und wie man navigiert. | ||
** Wichtige Algorithmen aus <algorithm> anwenden (z. B. <code>std::sort</code>, <code>std::find</code>, <code>std::for_each</code>). | ** Wichtige Algorithmen aus <code><algorithm></code> anwenden (z. B. <code>std::sort</code>, <code>std::find</code>, <code>std::for_each</code>). | ||
* '''Woche 11: Modernes C++ (C++11 und höher)''' | * '''Woche 11: Modernes C++ (C++11 und höher)''' | ||
** Typableitung mit dem <code>auto</code>-Keyword. | ** Typableitung mit dem <code>auto</code>-Keyword. | ||
| Zeile 61: | Zeile 58: | ||
== Weiterführende Themen (Optional / Ausblick) == | == Weiterführende Themen (Optional / Ausblick) == | ||
* Templates: Generische Programmierung für Funktionen und Klassen. | * Templates: Generische Programmierung für Funktionen und Klassen. | ||
* Multithreading und nebenläufige Programmierung (<code>std::thread</code>, <code>std::mutex</code>). | * Multithreading und nebenläufige Programmierung (<code>std::thread</code>, <code>std::mutex</code>). | ||
Aktuelle Version vom 3. März 2026, 20:26 Uhr
Hinweis: Diese Inhalte wurden mit Unterstützung von Künstlicher Intelligenz erstellt und redaktionell überprüft (Transparenzhinweis gemäß Art. 50 EU AI Act).
Weblink
- Tim Buchalka / Frank Mitropoulos Beginning C++ Programming - From Beginner to Beyond
Grundlagen (Monat 1)
- Woche 1: Einführung und Setup
- Installation eines Compilers (z. B. GCC, Clang oder MSVC) und einer IDE (z. B. Visual Studio, CLion oder VS Code).
- Das erste "Hello World"-Programm schreiben und den Kompilierungsprozess verstehen.
- Grundlegende Datentypen (int, char, float, double, bool) und Variablen verstehen.
- Einfache Ein- und Ausgabe mit
std::cinundstd::cout.
- Woche 2: Kontrollstrukturen
- Verzweigungen:
if,else if,elseundswitch. - Schleifen:
for,while,do-while.
- Verzweigungen:
- Woche 3: Funktionen
- Deklaration vs. Definition von Funktionen.
- Parameterübergabe: Call by Value, Call by Reference und Call by Pointer.
- Rückgabewerte und der Typ
void. - Überladen von Funktionen (Function Overloading).
- Woche 4: Arrays und Strings
- Arbeiten mit C-Style Arrays und dem modernen
std::array. - Zeichenketten mit
std::stringverwalten und grundlegende String-Manipulationen durchführen.
- Arbeiten mit C-Style Arrays und dem modernen
Fortgeschrittene C++ Konzepte (Monat 2)
- Woche 5: Zeiger und Speicherverwaltung
- Zeiger (Pointers) und Referenzen: Grundlagen, Syntax und Unterschiede.
- Zeigerarithmetik.
- Dynamische Speicherallokation mit
newunddelete(Bewusstsein für Memory Leaks).
- Woche 6: Objektorientierte Programmierung (OOP) - Die Grundlagen
- Klassen und die Instanziierung von Objekten.
- Attribute (Member-Variablen) und Methoden (Member-Funktionen).
- Konstruktoren und Destruktoren richtig einsetzen.
- Kapselung: Zugriffsmodifizierer (
public,private,protected).
- Woche 7: OOP - Fortgeschrittene Konzepte
- Vererbung (Inheritance): Basis- und abgeleitete Klassen.
- Polymorphismus und die Verwendung virtueller Funktionen (
virtual,override). - Abstrakte Klassen und rein virtuelle Funktionen (Interfaces).
- Woche 8: Fehlerbehandlung und Datei-I/O
- Exception Handling mit
try,catchundthrow. - Lesen und Schreiben von Dateien mit Streams (
ifstream,ofstream,fstream).
- Exception Handling mit
Moderne C++ Features (Monat 3)
- Woche 9: C++ Standardbibliothek (STL) - Die Container
- Sequenzielle Container:
std::vector,std::list,std::deque. - Assoziative Container:
std::map,std::set,std::unordered_map,std::unordered_set.
- Sequenzielle Container:
- Woche 10: STL - Algorithmen und Iteratoren
- Iteratoren: Konzepte, Typen und wie man navigiert.
- Wichtige Algorithmen aus
<algorithm>anwenden (z. B.std::sort,std::find,std::for_each).
- Woche 11: Modernes C++ (C++11 und höher)
- Typableitung mit dem
auto-Keyword. - Range-based for-Loops verwenden.
- Anonyme Funktionen: Lambda-Ausdrücke.
- Ressourcenmanagement: Smart Pointers (
std::unique_ptr,std::shared_ptr) statt roher Zeiger (RAII-Prinzip).
- Typableitung mit dem
- Woche 12: Abschlussprojekt
- Wende das gelernte Wissen in einem Projekt an, z.B. eine Bibliotheksverwaltung, ein Text-Adventure, eine To-Do-Anwendung mit Dateispeicherung oder die Implementierung eines bekannten Brettspiels (z. B. Tic-Tac-Toe oder Vier Gewinnt) im Terminal.
Weiterführende Themen (Optional / Ausblick)
- Templates: Generische Programmierung für Funktionen und Klassen.
- Multithreading und nebenläufige Programmierung (
std::thread,std::mutex). - Design Patterns in C++.
- Performance-Optimierung und Profiling.
- Move Semantics (
std::move) und Rvalue-Referenzen.
Hinweis: Diese Inhalte wurden mit Unterstützung von Künstlicher Intelligenz erstellt und redaktionell überprüft (Transparenzhinweis gemäß Art. 50 EU AI Act).