En C , une variable membre statique est une variable de classe qui existe indépendamment de toute instance d'objet . Il est généralement initialisé au moment de la compilation et peut être partagé par toutes les instances de la classe.
Cependant, si vous déclarez une variable membre statique sans fournir de définition, le compilateur générera un message d'erreur concernant une "référence non définie ". En effet, le compilateur doit connaître l'emplacement mémoire de la variable statique afin de générer le code qui y accède.
Pour résoudre cette erreur, vous devez fournir une définition de la variable membre statique dans un fichier source ( .cpp). La définition doit avoir le même nom que la déclaration dans le fichier d'en-tête (fichier .h), mais doit être précédée de l'opérateur de portée (::). Par exemple :
// header file class Example { public: static int x; }; // source file int Example::x;
Cela définira l'emplacement mémoire de la variable statique x et permettra au compilateur de générer du code qui y accède.
Cas particuliers
Autres utilisations de static
Le mot-clé static a des significations différentes lorsqu'il est appliqué à des objets ou des fonctions qui ne sont pas dans une portée de classe :
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!