Maison > développement back-end > C++ > Comment initialiser les membres de données statiques `const std::string` en C ?

Comment initialiser les membres de données statiques `const std::string` en C ?

Susan Sarandon
Libérer: 2024-12-16 17:55:16
original
985 Les gens l'ont consulté

How to Initialize Static `const std::string` Data Members in C  ?

Déclaration de membres de données statiques de type const std::string

En C, l'initialisation d'un membre de données statiques de type const std::string directement dans la définition de classe est pas autorisé. Au lieu de cela, il existe deux options pour définir de tels membres de données :

Variables en ligne (C 17 ou version ultérieure)

Utilisez une variable en ligne, qui définit et initialise le membre statique dans la définition de classe :

class A {
private:
  inline static const string RECTANGLE = "rectangle";
};
Copier après la connexion

Définition externe

Définissez le membre statique en dehors de la définition de la classe et fournissez l'initialiseur dans une implémentation distincte file :

Fichier d'en-tête

class A {
private:
  static const string RECTANGLE;
};
Copier après la connexion

Fichier d'implémentation

const string A::RECTANGLE = "rectangle";
Copier après la connexion

Limitations de l'initialisation en classe

La syntaxe d'initialisation des données membres statiques dans la définition de classe n'est prise en charge que pour les types intégraux et enum. Pour les types non intégraux comme const std::string, cette approche n'est pas valide.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal