Le rôle de static en C++
En C++, le mot-clé static est utilisé pour contrôler la portée et le cycle de vie des variables, des fonctions et des classes.
Variables
- Les variables déclarées comme statiques à l'intérieur d'une fonction sont appelées variables locales statiques.
- Les variables locales statiques sont initialisées la première fois qu'une fonction est exécutée et restent pendant toute la durée de vie de la fonction.
- La valeur des variables locales statiques reste inchangée même si la fonction renvoie ou quitte sa portée.
Fonction
- Une fonction déclarée comme statique en dehors d'une classe est appelée une fonction membre statique.
- Les fonctions membres statiques ne peuvent accéder qu'aux variables membres statiques de la classe, mais ne peuvent pas accéder aux variables membres non statiques.
- Les fonctions membres statiques ne peuvent pas fonctionner sur ce pointeur.
Classes
- Utilisez le mot-clé static dans la déclaration de classe pour créer des variables membres statiques.
- Les variables membres statiques existent tout au long du cycle de vie du programme, même si aucune instance de la classe n'est créée.
- Les variables membres statiques sont partagées entre toutes les instances d'une classe.
Autres utilisations
-
Type Inlining : les fonctions membres statiques peuvent être intégrées dans la définition de classe pour améliorer les performances.
-
Function Inlining : les fonctions statiques peuvent être intégrées dans les fonctions qui les appellent, évitant ainsi la surcharge des appels de fonction.
-
Définition de constante : L'utilisation du mot-clé static dans une expression constexpr crée une constante connue même au moment de l'exécution. Le mot-clé
Résumé
- static peut contrôler la portée et le cycle de vie des variables, des fonctions et des classes en C++.
- Les variables locales statiques restent inchangées pendant toute la durée de vie de la fonction.
- Les fonctions membres statiques ne peuvent accéder qu'aux variables membres statiques de la classe et ne peuvent pas opérer sur le pointeur this.
- Les variables membres statiques sont partagées entre toutes les instances d'une classe.
- Le mot-clé static est utilisé à d'autres fins telles que l'inlining de type, l'inlining de fonction et la définition de constante.
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!