Syntax ·
Datentypen ·
Kontrollstrukturen ·
Funktionen ·
Referenzen ·
const
C++ ist eine mächtige, systemnahe Programmiersprache. Diese Grundlagen sind essenziell für die Entwicklung performanter Anwendungen, Spiele und eingebetteter Systeme.
C++-Programme bestehen aus Funktionen, wobei main() der Einstiegspunkt ist. Jede Anweisung endet mit einem Semikolon (;). Die iostream-Bibliothek ermöglicht Ein- und Ausgabe.
| Element | Beschreibung |
|---|---|
| #include | Header-Datei einbinden |
| int main() | Hauptfunktion (Einstiegspunkt) |
| std::cout | Ausgabe auf die Konsole |
| std::cin | Eingabe von der Konsole |
| std::endl | Zeilenumbruch + Puffer leeren |
| // Kommentar | Einzeiliger Kommentar |
| /* */ | Mehrzeiliger Kommentar |
using namespace std; können Sie std:: weglassen – aber das wird in größeren Projekten oft vermieden, um Namenskonflikte zu verhindern.
Datentypen definieren, welche Art von Daten eine Variable speichern kann. C++ bietet sowohl primitive Typen als auch komplexe Typen wie std::string aus der Standardbibliothek.
| Typ | Größe | Bereich | Beispiel |
|---|---|---|---|
| int | 4 Byte | -2.147.483.648 bis 2.147.483.647 | 42 |
| double | 8 Byte | ±1.7e−308 bis ±1.7e+308 | 3.14159 |
| float | 4 Byte | ±3.4e−38 bis ±3.4e+38 | 3.14f |
| char | 1 Byte | ASCII-Zeichen | 'A' |
| bool | 1 Byte | true / false | true |
| std::string | variabel | Text | "Hallo" |
| unsigned int | 4 Byte | 0 bis 4.294.967.295 | 100u |
auto für die automatische Typableitung, wenn der Typ offensichtlich ist: auto x = 42; (int) oder auto y = 3.14; (double).
Kontrollstrukturen steuern den Programmablauf – sie entscheiden, welche Codeblöcke unter welchen Bedingungen ausgeführt werden und wie oft Schleifen durchlaufen werden.
| Struktur | Beschreibung | Beispiel |
|---|---|---|
| if / else | Bedingte Ausführung | if (x > 0) { ... } |
| for | Zählergesteuerte Schleife | for (int i = 0; i < 10; i++) { ... } |
| while | Kopfgesteuerte Schleife | while (x < 10) { ... } |
| do-while | Fußgesteuerte Schleife | do { ... } while (x < 10); |
| switch | Fallunterscheidung | switch (x) { case 1: ... } |
| break | Schleife beenden | break; |
| continue | Schleifendurchlauf überspringen | continue; |
break in switch, um ein Durchfallen (fall-through) zu verhindern. Im default-Fall werden alle nicht behandelten Werte abgefangen.
Funktionen sind wiederverwendbare Codeblöcke. Sie haben einen Rückgabetyp, einen Namen und Parameter. C++ unterstützt Funktionsüberladung (mehrere Funktionen mit gleichem Namen).
const-Parameter (const std::string& name), um Kopien zu vermeiden und die Leistung zu verbessern.
Referenzen sind Aliase für vorhandene Variablen – sie werden ohne Kopie verwendet. Zeiger speichern Adressen und ermöglichen dynamische Speicherverwaltung.
nullptr möglich sein soll.
const macht Variablen unveränderlich. Es verbessert die Lesbarkeit, verhindert unbeabsichtigte Änderungen und ermöglicht Compiler-Optimierungen.
const so oft wie möglich – es macht Code sicherer und hilft dem Compiler bei Optimierungen. constexpr ist für Werte, die zur Compile-Zeit bekannt sind.
main()
int
if
void
&
const
int main() { std::cout << "Hallo"; return 0; } ·
const int MAX = 100;