C++ Konstanten & Literale: Typen, Syntax & Best Practices
Konstanten sind feste Werte, die das Programm nicht ändern darf – sie heißen Literale.
Konstanten können jeden Basisdatentyp haben und lassen sich einteilen in: Ganzzahl-Literale, Gleitkomma-Literale, Zeichen, Strings und Boolean-Werte. Sie verhalten sich wie reguläre Variablen, nur dass ihr Wert nach Definition unveränderlich ist.
Ganzzahl-Literale (Integer Literals)
Können dezimal, oktal oder hexadezimal sein. Präfix bestimmt die Basis:
0xoder0X→ hexadezimal0→ oktal- kein Präfix → dezimal
Suffix (Groß-/Kleinschreibung egal, Reihenfolge beliebig): U (unsigned), L (long).
Beispiele:
212 // Legal
215u // Legal
0xFeeL // Legal
078 // Illegal: 8 keine Oktalziffer
032UU // Illegal: Suffix nicht wiederholbar
Weitere Beispiele:
85 // dezimal
0213 // oktal
0x4b // hexadezimal
30 // int
30u // unsigned int
30l // long
30ul // unsigned long
Gleitkomma-Literale (Floating-Point Literals)
Aufbau: Ganzzahlteil, Dezimalpunkt, Bruchteil, Exponententeil. Darstellung in Dezimal- oder Exponentialform.
- Dezimalform: Dezimalpunkt, Exponent oder beide erforderlich.
- Exponentialform: Ganzzahlteil, Bruchteil oder beide erforderlich. Vorzeichenbehafteter Exponent durch
eoderEeingeleitet.
Beispiele:
3.14159 // Legal
314159E-5L // Legal
510E // Illegal: unvollständiger Exponent
210f // Illegal: kein Dezimalpunkt/Exponent
.e55 // Illegal: fehlender Ganzzahl-/Bruchteil
Boolean-Literale
true– wahrfalse– falsch
Wichtig: true ≠ 1, false ≠ 0 betrachten.
Zeichen-Literale (Character Literals)
In einfachen Anführungszeichen. Beginnt mit L (nur Großbuchstabe) → Wide Character (z. B. L'x'), Typ wchar_t. Sonst Narrow Character (z. B. 'x'), Typ char.
Ein Zeichen-Literal kann sein:
- einfaches Zeichen (z. B.
'x') - Escape-Sequenz (z. B.
'\t') - Universal Character (z. B.
'\u02C0')
Escape-Sequenzen (Backslash + Zeichen mit Sonderbedeutung):
| Escape | Bedeutung |
|---|---|
| \\ | \ Zeichen |
| \' | ' Zeichen |
| \" | " Zeichen |
| \? | ? Zeichen |
| \a | Alert/Bell |
| \b | Backspace |
| \f | Form feed |
| \n | Neue Zeile (Newline) |
| \r | Wagenrücklauf (Carriage return) |
| \t | Horizontaler Tab |
| \v | Vertikaler Tab |
| \ooo | Oktalziffer (1–3 Stellen) |
| \xhh... | Hexadezimalzahl (1+ Stellen) |
Beispiel:
#include <iostream>
using namespace std;
int main() {
cout << "Hello\tWorld\n\n";
return 0;
}
Ausgabe:
Hello World
String-Literale
In doppelten Anführungszeichen. Enthalten Zeichen wie Character-Literale: normale Zeichen, Escape-Sequenzen, Universal Characters.
Lange Zeilen können durch mehrere String-Literale, getrennt durch Whitespace, umgebrochen werden.
"hello, dear"
"hello, \ dear"
"hello, " "d" "ear" // alle drei identisch
Konstanten definieren
Zwei Wege in C++:
#definePräprozessorconstSchlüsselwort
#define Präprozessor
#define BEZEICHNER WERT
Beispiel:
#include <iostream>
using namespace std;
#define LAENGE 10
#define BREITE 5
#define NEUE_ZEILE '\n'
int main() {
int flaeche = LAENGE * BREITE;
cout << flaeche << NEUE_ZEILE;
return 0;
}
Ausgabe: 50
const Schlüsselwort
const typ variable = wert;
Beispiel:
#include <iostream>
using namespace std;
int main() {
const int LAENGE = 10;
const int BREITE = 5;
const char NEUE_ZEILE = '\n';
int flaeche = LAENGE * BREITE;
cout << flaeche << NEUE_ZEILE;
return 0;
}
Ausgabe: 50
Konvention: Konstanten in GROSSBUCHSTABEN definieren.
C Sprache
- C++-Variablen, Literale und Konstanten meistern: Ein umfassender Leitfaden
- C++-Datentypen verstehen: Grundlagen, Modifizierer und Best Practices
- C++-Operatoren meistern: Ein vollständiger Leitfaden mit praktischen Beispielen
- C++-Kommentare: Best Practices für lesbaren, wartbaren Code
- C++ Klassentemplates meistern: Ein praktischer Leitfaden
- C Variablen, Konstanten und Literale: Ein vollständiger Leitfaden
- Python-Variablen, Konstanten & Literale – Umfassender Leitfaden
- C-Konstanten und Literale: Typen, Verwendung & Best Practices
- C++ Programmiersprache: Überblick & Kernfeatures
- C++ Konstanten & Literale: Typen, Syntax & Best Practices