Heim >Backend-Entwicklung >C++ >Wie initialisiert man konstante statische String-Variablen in C-Klassen richtig?

Wie initialisiert man konstante statische String-Variablen in C-Klassen richtig?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-05 02:42:13971Durchsuche

How to Properly Initialize Constant Static String Variables in C   Classes?

Initialisierung statischer Variablen in C-Klassen

In C können statische Klassenvariablen nur außerhalb der Klassendefinition initialisiert werden. Dies kann jedoch eine Herausforderung darstellen, wenn es um String-Variablen geht, die innerhalb der Klasse konstant bleiben sollen. Um dieses Problem zu beheben, können wir diese Variablen außerhalb der Klasse in einer Quelldatei initialisieren:

// Inside the class header file (.h)
class Thing {
    static const string RE_ANY;
    static const string RE_ANY_RELUCTANT;
};

// In the source file (.cpp)
const string Thing::RE_ANY = "([^\n]*)";
const string Thing::RE_ANY_RELUCTANT = "([^\n]*?)";

Ein wichtiger Hinweis ist, dass die Variablen konstant sein sollen und nicht durch Klassenmethoden geändert werden sollten Es wird empfohlen, das Schlüsselwort const zu verwenden, anstatt sie statisch zu machen. Statische Variablen werden von allen Instanzen der Klasse gemeinsam genutzt, während auf konstante Variablen weiterhin mit nicht-konstanten Methoden zugegriffen, diese aber nicht geändert werden können.

Das obige ist der detaillierte Inhalt vonWie initialisiert man konstante statische String-Variablen in C-Klassen richtig?. 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