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) {}
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; }
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!