Add C++ example: README.md
This commit is contained in:
72
src/cpp_examples/README.md
Normal file
72
src/cpp_examples/README.md
Normal file
@@ -0,0 +1,72 @@
|
||||
# C++ Beispiele
|
||||
|
||||
Dieses Verzeichnis enthält C++-Vergleichsbeispiele zu den C-Modulen.
|
||||
|
||||
## Übersicht
|
||||
|
||||
| Datei | C-Modul | Konzept |
|
||||
|-------|---------|---------|
|
||||
| `module1_memory_cpp.cpp` | Modul 1 | new/delete, Smart Pointers, RAII |
|
||||
| `module5_datastructures_cpp.cpp` | Modul 5 | STL (vector, list, map, algorithms) |
|
||||
| `module7_oop_cpp.cpp` | Modul 7 | Klassen, Vererbung, Polymorphie |
|
||||
| `module8_stl_cpp.cpp` | Modul 8 | Iteratoren, Funktoren, Lambdas |
|
||||
|
||||
## Kompilieren
|
||||
|
||||
```bash
|
||||
# Alle Beispiele
|
||||
g++ -std=c++17 -o memory module1_memory_cpp.cpp
|
||||
g++ -std=c++17 -o datastruct module5_datastructures_cpp.cpp
|
||||
g++ -std=c++17 -o oop module7_oop_cpp.cpp
|
||||
g++ -std=c++17 -o stl module8_stl_cpp.cpp
|
||||
|
||||
# Ausführen
|
||||
./memory
|
||||
./datastruct
|
||||
./oop
|
||||
./stl
|
||||
```
|
||||
|
||||
## Makefile
|
||||
|
||||
```makefile
|
||||
CXX = g++
|
||||
CXXFLAGS = -std=c++17 -Wall -Wextra
|
||||
|
||||
all: memory datastruct oop stl
|
||||
|
||||
memory: module1_memory_cpp.cpp
|
||||
$(CXX) $(CXXFLAGS) -o $@ $<
|
||||
|
||||
datastruct: module5_datastructures_cpp.cpp
|
||||
$(CXX) $(CXXFLAGS) -o $@ $<
|
||||
|
||||
oop: module7_oop_cpp.cpp
|
||||
$(CXX) $(CXXFLAGS) -o $@ $<
|
||||
|
||||
stl: module8_stl_cpp.cpp
|
||||
$(CXX) $(CXXFLAGS) -o $@ $<
|
||||
|
||||
clean:
|
||||
rm -f memory datastruct oop stl
|
||||
|
||||
.PHONY: all clean
|
||||
```
|
||||
|
||||
## Hauptunterschiede C vs C++
|
||||
|
||||
| Aspekt | C | C++ |
|
||||
|--------|---|-----|
|
||||
| Speicher | malloc/free | new/delete, Smart Pointers |
|
||||
| Datentypen | struct, primitive | class, string, vector, etc. |
|
||||
| Generics | void* | templates |
|
||||
| Fehlerbehandlung | Return codes | Exceptions (optional) |
|
||||
| OOP | Manuell (Function Pointer) | Nativ (class, virtual) |
|
||||
|
||||
---
|
||||
|
||||
**Empfohlene Lernreihenfolge:**
|
||||
1. C-Modul durcharbeiten
|
||||
2. C++-Vergleich anschauen
|
||||
3. Unterschiede notieren
|
||||
4. C++-Version selbst modifizieren
|
||||
Reference in New Issue
Block a user