Variablen, Datentypen und auto in C++
Lernen Sie Variablen, Datentypen und das Schlüsselwort auto in C++ mit praktischen Beispielen zur Typableitung.
In C++-Programmen werden Variablen verwendet, um Daten zu speichern und zu verarbeiten.
Jede Variable besitzt einen Datentyp, der bestimmt, wie viel Speicher sie belegt
und welche Art von Werten sie enthalten kann.
In diesem Artikel lernst du die grundlegenden Datentypen in C++,
die Regeln zur Variablendeklaration
und die Verwendung des auto-Schlüsselworts, das mit modernem C++ eingeführt wurde.
1. Was ist eine Variable?
Eine Variable ist ein benannter Speicherbereich, der einen Wert speichert. Während der Programmausführung kannst du diesen Wert lesen oder ändern.
int alter = 25;
double pi = 3.14159;
char buchstabe = 'A';
bool aktiv = true;
Jede Variable hat einen bestimmten Typ und benötigt unterschiedlich viel Speicherplatz.
2. Grundlegende Datentypen
Die grundlegenden Datentypen in C++ sind folgende:
| Datentyp | Beschreibung | Beispiel |
|---|---|---|
int | Ganze Zahlen (positiv oder negativ) | int zahl = 42; |
double | Gleitkommazahlen | double anteil = 0.75; |
char | Ein einzelnes Zeichen | char symbol = 'X'; |
bool | Logischer Wert (true / false) | bool aktiv = true; |
string | Zeichenkette (Text) | string name = "Ahmet"; |
Der string-Typ in C++ wird durch die Bibliothek <string> bereitgestellt:
#include <iostream>
#include <string>
using namespace std;
int main() {
string name = "Ali";
cout << "Hallo " << name << endl;
return 0;
}
3. Regeln zur Variablendeklaration
- Variablennamen dürfen Buchstaben, Ziffern und Unterstriche (
_) enthalten. - Sie dürfen nicht mit einer Ziffer beginnen.
- Verwende keine Sonderzeichen oder Umlaute.
- Groß- und Kleinschreibung ist relevant:
zahlundZahlsind unterschiedlich.
Gültige und ungültige Beispiele:
// Gültig
int studenten_anzahl = 30;
double gesamtPreis = 99.50;
// Ungültig
int 2apfel = 5; // darf nicht mit einer Zahl beginnen
int klasse = 10; // Sonderzeichen nicht erlaubt
int double = 7; // reserviertes Schlüsselwort
4. Konstanten (const)
Wenn du möchtest, dass sich der Wert einer Variablen während des Programms nicht ändert,
verwende das Schlüsselwort const.
const double PI = 3.14159;
const int MAX_STUDENTEN = 40;
// PI = 3.14; // Fehler! const-Variablen können nicht geändert werden
5. Typumwandlung (Type Casting)
In C++ ist es möglich, einen Wert von einem Typ in einen anderen umzuwandeln.
int x = 10;
double y = 3.0;
double ergebnis = x / y; // automatische Umwandlung (int → double)
cout << ergebnis; // 3.33333
Für eine explizite Typumwandlung kann static_cast verwendet werden:
int summe = 5;
int anzahl = 2;
double durchschnitt = static_cast<double>(summe) / anzahl;
cout << durchschnitt; // 2.5
6. Das Schlüsselwort auto (C++11+)
Mit modernem C++ eingeführt, erlaubt das auto-Schlüsselwort dem Compiler,
den Datentyp einer Variablen automatisch anhand des zugewiesenen Werts zu bestimmen.
auto zahl = 10; // int
auto anteil = 3.14; // double
auto text = "Hallo"; // const char*
auto aktiv = true; // bool
Diese Funktion verbessert die Lesbarkeit des Codes, insbesondere bei komplexen Typen (z. B. Iteratoren oder Template-Typen).
7. Das Schlüsselwort decltype (C++11+)
decltype ermöglicht es, eine neue Variable desselben Typs wie ein vorhandener Ausdruck zu deklarieren.
int a = 5;
decltype(a) b = 10; // b ist ebenfalls vom Typ int
In Kombination mit auto lassen sich flexible und typsichere Programme schreiben.
8. Beispiel: Notendurchschnitt berechnen
Im folgenden Beispiel werden verschiedene Datentypen,
die Verwendung von auto und Typumwandlung kombiniert dargestellt.
#include <iostream>
using namespace std;
int main() {
int note1 = 85;
int note2 = 90;
int note3 = 78;
auto durchschnitt = static_cast<double>(note1 + note2 + note3) / 3;
cout << "Durchschnitt: " << durchschnitt << endl;
return 0;
}
9. TL;DR
- Jede Variable hat einen Typ; der Typ bestimmt den Speicherbedarf und den Wertebereich.
const-Variablen können nicht geändert werden.static_cast<>ermöglicht eine sichere Typumwandlung.autobestimmt den Typ der Variablen automatisch.- Beispiele können in Visual Studio 2022 oder GCC 11+ ausgeführt werden.