Heim > Backend-Entwicklung > C++ > Wie werden Const-Datenelemente in C ordnungsgemäß initialisiert?

Wie werden Const-Datenelemente in C ordnungsgemäß initialisiert?

Mary-Kate Olsen
Freigeben: 2024-12-05 00:42:11
Original
408 Leute haben es durchsucht

How to Properly Initialize Const Data Members in C  ?

Konstante Datenelementinitialisierung in C

In C treten beim Versuch, ein konstantes Datenelement innerhalb einer Klassendeklaration zu initialisieren, Fehler auf wie „ „ISO C verbietet die Initialisierung von Mitgliedern“ und es kann dazu kommen, dass „t“ statisch wird. Um dieses Problem zu lösen, ist es wichtig, die Natur der const-Datenelemente zu verstehen.

Const-Variablen geben einen Wert an, der während der Programmausführung nicht geändert werden kann. C verlangt jedoch, dass Objektdefinitionen eindeutige Deklarationen haben. Um diese Regel einzuhalten, können const-Variablen nicht innerhalb von Klassendeklarationen definiert werden.

Die Lösung besteht darin, die const-Variable außerhalb der Klassendeklaration mithilfe der Initialisierungsliste zu definieren. Die Syntax zum Initialisieren eines const-Datenelements lautet:

className() : memberName(value) {}
Nach dem Login kopieren

In Ihrem Beispiel:

#include <iostream>

using namespace std;

class T1
{
  const int t;

public:
  T1() : t(100) {}
};

int main()
{
  T1 obj;
  cout << "T1 constructor: " << obj.t << endl;
  return 0;
}
Nach dem Login kopieren

Dieser Code initialisiert das const-Datenelement t während der Objektkonstruktion mit dem Wert 100 und vermeidet so das oben genannten Fehler.

Das obige ist der detaillierte Inhalt vonWie werden Const-Datenelemente in C ordnungsgemäß initialisiert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage