0Pricing
C++ Academy · Lektion

const-Variablen und -Parameter

Daten vor Änderungen schützen

const-Variablen und -Parameter ist eine kostenlose C++ Academy-Lektion auf CoddyKit. Dies ist Lektion 1 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.

const-Variablen deklarieren

Eine const-Variable kann nach der Initialisierung nicht geändert werden. Der Compiler erzwingt dies und erkennt versehentliche Schreibzugriffe.

#include <iostream>

int main() {
    const int maxUsers = 100;
    // maxUsers = 200;   // ERROR
    std::cout << maxUsers << "\n";
}

const-Funktionsparameter

Wenn ein per Wert übergebener Parameter mit const markiert wird, verhindert dies, dass der Funktionskörper seine lokale Kopie verändert – eine Hilfe für Dokumentation und Sicherheit.

#include <iostream>

int doubled(const int n) {
    // n = 0;   // ERROR
    return n * 2;
}

int main() { std::cout << doubled(21) << "\n"; }

const-Referenzparameter

Die Übergabe per const& vermeidet das Kopieren großer Objekte und garantiert zugleich, dass diese nicht verändert werden – die übliche Vorgehensweise für Strings und Container.

#include <iostream>
#include <string>

void printLen(const std::string& s) {  // no copy, no change
    std::cout << s.size() << "\n";
}

int main() { printLen("hello"); }

Zeiger auf const

const T* bedeutet, dass der durch diesen Zeiger referenzierte Wert nicht geändert werden kann, der Zeiger selbst jedoch auf ein anderes Objekt gesetzt werden darf.

#include <iostream>

int main() {
    int a = 1, b = 2;
    const int* p = &a;
    // *p = 5;   // ERROR: value is const
    p = &b;      // OK: pointer can move
    std::cout << *p << "\n";
}

const-Zeiger

T* const ist ein konstanter Zeiger: Sie können ihn nicht auf ein anderes Objekt setzen, dürfen aber den Wert ändern, auf den er zeigt.

#include <iostream>

int main() {
    int a = 1;
    int* const p = &a;
    *p = 9;      // OK: value changeable
    // p = nullptr;  // ERROR: pointer is const
    std::cout << *p << "\n";
}

Deklarationen von rechts nach links lesen

Lesen Sie const-Deklarationen von rechts nach links: const int* const ist ein „const-Zeiger auf const int“ – weder Wert noch Zeiger können geändert werden.

Warum const-Korrektheit?

Wenn Sie const überall dort verwenden, wo es angebracht ist, dokumentieren Sie die Absicht, verhindern Fehler und ermöglichen Optimierungen durch den Compiler. Diese Disziplin wird const-Korrektheit genannt.

const ermöglicht Aufrufe mit const-Argumenten

Eine Funktion, die const& entgegennimmt, kann sowohl const- als auch nicht-const-Argumente sowie temporäre Objekte akzeptieren. Eine nicht-const-Referenz kann nicht an ein temporäres Objekt gebunden werden.

const-Lokale erleichtern das Verständnis

Wenn Sie lokale Variablen, die sich nicht ändern sollen, als const deklarieren, wird der Code leichter lesbar und versehentliche Neuzuweisungen werden verhindert.

#include <iostream>

int main() {
    const double rate = 0.2;
    const double total = 100 * (1 + rate);
    std::cout << total << "\n";
}

Top-Level-const bei Wertparametern

Bei per Wert übergebenen Parametern wirkt sich ein Top-Level-const nicht auf den Aufrufer aus – es schränkt nur den Funktionskörper ein und wird in Deklarationen oft weggelassen.

const früh hinzufügen

Es ist wesentlich einfacher, von Anfang an const-korrekt zu programmieren, als const-Korrektheit nachträglich einzuführen. Gewöhnen Sie sich an, Parameter, Referenzen und lokale Variablen standardmäßig mit const zu versehen.

Kurzer Test

Testen Sie Ihr Verständnis von const.

Zusammenfassung

Sie haben gelernt, const für Variablen, Parameter, Referenzen und Zeiger zu verwenden, und den Unterschied zwischen Zeiger auf const und const-Zeiger kennengelernt. Const-Korrektheit dokumentiert Absichten, verhindert Fehler und ermöglicht die Bindung an temporäre Objekte sowie Optimierungen.

Häufig gestellte Fragen

Ist die Lektion „const-Variablen und -Parameter“ kostenlos?

Ja — der vollständige Text von „const-Variablen und -Parameter“ 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 „const-Variablen und -Parameter“?

Daten vor Änderungen schützen 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 1 von 4.

Wie lange dauert die Lektion „const-Variablen und -Parameter“?

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

  1. const-Variablen und -Parameter
  2. const-Memberfunktionen
  3. constexpr und Compile-Zeit
  4. consteval und constinit
← Zurück zu C++ Academy