Das Schlüsselwort const in C++

Migel Hewage Nimesha 12 Oktober 2023
  1. Deklarieren von Const-Variablen in C++
  2. Verwendung von die const mit Zeigern in C++
  3. Zeigervariable auf const-Variable in C++
  4. die const Zeigervariable auf einen Wert in C++
  5. die const-Zeigervariable auf die const-Variable in C++
  6. die Member-Funktion const und das Objekt const in C++
Das Schlüsselwort const in C++

Das Schlüsselwort const, das in C++ für Constant steht, wird verwendet, um einen bestimmten Wert/Werte im gesamten Programm konstant zu halten.

Sobald eine Variable/Objekt/Funktion für stabil erklärt wird, lässt der Compiler den Programmierer den zugewiesenen Wert während des Rests des Programms nicht ändern.

Es stellt sicher, dass das Programm während seiner Ausführung ununterbrochen läuft. Wenn der Programmierer später versucht, den Wert zu ändern, zeigt der Compiler einen Kompilierungsfehler an.

Der Hauptvorteil von const besteht darin, dass ein bestimmter Wert/Werte im gesamten Programm konstant bleiben. Wie bereits erwähnt, wird es dem Compiler auch ermöglicht, spezifische Optimierungen vorzunehmen, die sonst nicht möglich wären.

Das Schlüsselwort const kann in einem Programm auf unterschiedliche Weise verwendet werden, um unterschiedliche Programmieranforderungen zu erfüllen.

Deklarieren von Const-Variablen in C++

Wenn eine Variable konstant gemacht wird, muss die Variable beim Deklarieren immer initialisiert werden. Nachdem die Variable gesagt wurde, ist es unmöglich, ihren Wert in einem anderen Teil des Codes zu ändern.

Eine Variable als Konstante deklarieren;

const int x = 1;

Verwendung von die const mit Zeigern in C++

Es gibt drei Möglichkeiten, das Schlüsselwort const mit Zeigern zu verwenden.

  • Zeigervariable auf const-Wert.
  • Die Zeigervariable const auf einen Wert.
  • Der const-Zeiger auf eine const-Variable.

Zeigervariable auf const-Variable in C++

Das bedeutet, dass der Zeiger auf eine konstante Variable zeigt, wir können den Wert der Variablen verwenden, auf die der Zeiger zeigt, aber wir können den Wert der Variablen nicht mit dem Zeiger ändern.

const int* y;

Dies ist vorteilhaft, wenn Sie eine Zeichenfolge oder ein Array unveränderlich machen.

die const Zeigervariable auf einen Wert in C++

Hier ist der Zeiger eine Konstante, aber der Wert des Zeigers ist nicht konstant; daher ist es möglich, seinen Wert zu ändern.

Außerdem können wir, obwohl wir den Wert ändern, nicht den Speicherort des Zeigers ändern. Es ist wichtig, wenn der Speicher seinen Wert ändert, aber nicht seinen Speicherort.

int z = 2;
const int* y = &z;

die const-Zeigervariable auf die const-Variable in C++

Nachdem die Werte in dieser Situation zugewiesen wurden, ist es unmöglich, die Zeigervariable oder den Wert der Variablen, auf die der Zeiger zeigt, zu ändern.

int i = 3 const int* const j = &i;

die Member-Funktion const und das Objekt const in C++

C++ ist eine objektorientierte Programmiersprache, und es gibt Fälle, in denen ein erstelltes Objekt während irgendeines Teils des Programms nicht für eine angestrebte Änderung vorgesehen ist.

Daher kann es in solchen Situationen sehr hilfreich sein, ein Objekt mit dem Schlüsselwort const konstant zu machen. Wenn ein Objekt als const deklariert werden soll, muss es im Moment der Deklaration initialisiert werden.

Nachdem das Objekt initialisiert wurde, ist es unmöglich, während des Rests des Programms irgendwelche dem Objekt gegebenen Abmessungen zu ändern.

Der Compiler gibt einen Kompilierungsfehler aus. Hier ist ein Beispiel für ein const-Objekt.

#include <iostream>
using namespace std;

class length {
 public:
  int x;
  length(int y) { x = y; }
};

int main() {
  const length obj1(15);
  cout << "The length of object 1 is " << obj1.x << endl;
  return 0;
}

Ausgabe:

The length of object 1 is 15

Wenn eine Funktion gefolgt von const deklariert wird, wird eine konstante Funktion erstellt. Es wird hauptsächlich mit const-Objekten verwendet.

Es ist wichtig zu beachten, dass der Compiler einen Fehler ausgibt, wenn eine Member-Funktion über ein const-Objekt aufgerufen wird, unabhängig davon, ob die Member-Funktion das Objekt ändern wollte oder nicht.

Hier ist ein Beispiel für eine Member-Funktion const.

#include <iostream>
using namespace std;

class length {
 public:
  int x;
  length(int y) { x = y; }
  int getvalue() const { return x; }
};

int main() {
  const length obj1(15);
  cout << "The length of object 1 is " << obj1.getvalue() << endl;
  return 0;
}

Ausgabe:

The length of object 1 is 15

Der Punkt von const ist, dass es nicht erlaubt, Dinge zu ändern, die nicht geändert werden sollten.

Migel Hewage Nimesha avatar Migel Hewage Nimesha avatar

Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.

Verwandter Artikel - C++ Const