Heim >Backend-Entwicklung >C++ >Wie definiere ich statische const std::string-Mitglieder in C?

Wie definiere ich statische const std::string-Mitglieder in C?

Linda Hamilton
Linda HamiltonOriginal
2024-12-19 03:48:09976Durchsuche

How to Define Static const std::string Members in C  ?

Statische Datenelemente vom Typ const std::string definieren

In C ein privates statisches Const-Element vom Typ std::string definieren innerhalb einer Klasse, die die klasseninterne Initialisierung verwendet, wie unten gezeigt, ist nicht mit C kompatibel Standard:

class A {
   private:
      static const string RECTANGLE = "rectangle";
}

C bietet jedoch alternative Ansätze, um diese Funktionalität zu erreichen.

C 17 Inline-Variablen

Seit C 17 ist dies möglich Verwenden Sie zu diesem Zweck Inline-Variablen. Eine Inline-Variable ist eine C 17-Funktion, die die Deklaration einer statischen Variablen direkt innerhalb der Klassendefinition mit dem Schlüsselwort inline ermöglicht. Zum Beispiel:

// In a header file (if necessary)
class A {
private:
  inline static const string RECTANGLE = "rectangle";
};

Vor-C 17-Ansatz

Vor C 17 müssen Sie das statische Mitglied außerhalb der Klassendefinition definieren und dort den Initialisierer bereitstellen. Hier ist ein Beispiel:

// In a header file (if necessary)
class A {
private:
  static const string RECTANGLE;
};
// In one of the implementation files
const string A::RECTANGLE = "rectangle";

Hinweis: Die von Ihnen versuchte Initialisierungssyntax (innerhalb der Klassendefinition) wird nur für Integral- und Enum-Typen unterstützt.

Das obige ist der detaillierte Inhalt vonWie definiere ich statische const std::string-Mitglieder in C?. 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