Variablen, automatische Typinferenz und constexpr
Deklarieren Sie Variablen, verwenden Sie auto zur Typableitung und lernen Sie, wann Werte als constexpr markiert werden sollten
Variablen, automatische Typinferenz und constexpr ist eine kostenlose C++ Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des C++ Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der C++ Academy-Kurs umfasst insgesamt 4 Lektionen.
Was ist eine Variable?
Eine Variable ist ein benannter Speicherbereich mit einem Typ. Der Typ legt fest, wie viele Bytes er belegt und wie die Bits interpretiert werden.
Deklarieren mit expliziten Typen
Die klassische Form: type name = value;
int age = 30;
double pi = 3.14159;
char grade = 'A';
bool isReady = true;Das Schlüsselwort auto
Seit C++11 kann der Compiler den Typ aus dem Initialisierer ableiten. Verwenden Sie auto für übersichtlicheren Code, insbesondere bei Iteratoren oder Templates.
auto count = 42; // int
auto price = 9.99; // double
auto name = std::string("Ada"); // std::stringWann auto hilfreich ist
Verwenden Sie auto, wenn:
- der Typ lang ist (Iteratoren, Templates)
- Sie implizite Konvertierungen vermeiden möchten
- der Typ sich direkt aus dem Initialisierer ergibt
Wann Sie auto vermeiden sollten
Vermeiden Sie auto, wenn der abgeleitete Typ für eine lesende Person nicht offensichtlich ist. Bei numerischen Literalen dokumentiert ein expliziter Typ die Absicht oft besser.
const: schreibgeschützte Variablen
Markieren Sie Variablen, die sich niemals ändern dürfen, mit const. Der Compiler setzt dies durch.
const int MAX_USERS = 100;
const double TAX_RATE = 0.18;constexpr: Konstanten zur Compilezeit
constexpr geht über const hinaus — der Wert muss zur Compilezeit bekannt sein. Der Compiler kann ihn überall dort verwenden, wo Konstanten zur Compilezeit erforderlich sind.
constexpr int BUFFER_SIZE = 1024;
constexpr double PI = 3.14159265358979;constexpr-Funktionen
Funktionen können ebenfalls mit constexpr markiert werden, wenn jeder Schritt zur Compilezeit berechenbar ist. Werden sie mit konstanten Argumenten aufgerufen, ergibt sich ein Ergebnis zur Compilezeit.
constexpr int square(int x) { return x * x; }
constexpr int area = square(5); // computed at compile timeFormen der Initialisierung
C++ besitzt mehrere Syntaxformen für die Initialisierung. Bevorzugen Sie in modernem Code die Initialisierung mit geschweiften Klammern — sie weist verengende Konvertierungen zurück.
int a = 10; // copy init
int b(10); // direct init
int c{10}; // brace init (preferred)
int d = {10}; // copy-list initNarrowing und Initialisierung mit geschweiften Klammern
Die Initialisierung mit geschweiften Klammern schützt Sie vor versehentlichem Abschneiden von Werten. Das folgende Beispiel lässt sich nicht kompilieren.
double d = 3.7;
int a = d; // OK, silently truncates to 3
int b{d}; // ERROR: narrowing conversionGültigkeitsbereich von Variablen
Eine Variable existiert ab ihrer Deklaration bis zum Ende des einschließenden Blocks (eines Paars aus { }). Deklarieren Sie Variablen im kleinstmöglichen Gültigkeitsbereich — dadurch wird ihre Lebensdauer begrenzt und die Zahl der Fehler verringert.
Kurztest
Welche Deklaration erzeugt einen Wert, den der Compiler als Konstante zur Compilezeit verwenden kann?
Zusammenfassung
Deklarieren Sie Variablen mit einem expliziten Typ oder mit auto, damit der Typ abgeleitet wird. Verwenden Sie const für schreibgeschützte Werte und constexpr für Konstanten zur Compilezeit. Bevorzugen Sie die Initialisierung mit geschweiften Klammern, um Narrowing zu erkennen.
Häufig gestellte Fragen
Ist die Lektion „Variablen, automatische Typinferenz und constexpr“ kostenlos?
Ja — der vollständige Text von „Variablen, automatische Typinferenz und constexpr“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des C++ Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der C++ Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Variablen, automatische Typinferenz und constexpr“?
Deklarieren Sie Variablen, verwenden Sie auto zur Typableitung und lernen Sie, wann Werte als constexpr markiert werden sollten Du übst C++ Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um C++ Academy zu starten?
Keine Vorkenntnisse erforderlich. C++ Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „Variablen, automatische Typinferenz und constexpr“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser C++ Academy-Lektion Code schreiben und ausführen?
Ja. Jede C++ Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Einen C++-Compiler einrichten
- Hello World und der Build-Prozess
- Variablen, automatische Typinferenz und constexpr
- Grundlegende Operatoren und Typkonvertierung