Heim >Backend-Entwicklung >C++ >Wie kann ich Const-Datenelemente in C initialisieren?

Wie kann ich Const-Datenelemente in C initialisieren?

Barbara Streisand
Barbara StreisandOriginal
2024-12-09 15:29:15937Durchsuche

How Can I Initialize Const Data Members in C  ?

Const-Datenelemente initialisieren

Beim Versuch, ein Const-Datenelement innerhalb einer Klassendefinition zu initialisieren, wird möglicherweise eine Fehlermeldung angezeigt, die besagt, dass C verbietet eine solche Initialisierung. Dieser Fehler tritt auf, weil konstante Variablen, wie der Name schon sagt, konstant sind und nach der Initialisierung nicht mehr geändert werden können.

Um ein konstante Datenelement zu initialisieren, müssen wir es innerhalb der Klasse deklarieren, es aber außerhalb der Klasse definieren. Dieser Ansatz stellt sicher, dass die Definition erfolgt, bevor eine Instanz der Klasse erstellt wird.

class T1 {
  const int t;

public:
  T1() : t(100) {
    cout << "T1 constructor: " << t << endl;
  }
};

In der Klassendefinition deklarieren wir das const-Datenelement t, ohne ihm einen Wert zuzuweisen. Die eigentliche Initialisierung erfolgt in der Initialisierungsliste des Konstruktors, die vor dem Konstruktorkörper ausgeführt wird.

Mit dieser Methode können wir konstante Datenelemente initialisieren und dabei den Grundsatz einhalten, dass konstante Variablen während der Programmausführung nicht geändert werden können. Durch die Trennung von Deklaration und Definition stellen wir sicher, dass der t-Variablen zur Kompilierungszeit ein konstanter Wert zugewiesen wird und sie anschließend nicht mehr geändert werden kann.

Das obige ist der detaillierte Inhalt vonWie kann ich Const-Datenelemente in C initialisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn