Maison  >  Article  >  développement back-end  >  Quel est le rôle du mot-clé statique en C++ ?

Quel est le rôle du mot-clé statique en C++ ?

烟雨青岚
烟雨青岚original
2020-07-16 15:14:457902parcourir

Les fonctions sont : 1. Modifier les variables locales de la fonction ; 2. Modifier les fonctions globales et les variables globales ; 3. Modifier les variables membres de la classe ;

Quel est le rôle du mot-clé statique en C++ ?

Fonction statique :

1. Variables locales des fonctions modifiées :

Caractéristiques : Il y a une valeur par défaut de 0, elle n'est exécutée qu'une seule fois, la mémoire est ouverte au début de l'opération, et la mémoire est placée globalement

2 Modifier les fonctions globales. et variables globales :

Caractéristiques : Ne peut être utilisé que dans le fichier source d'origine

3. Modifier les variables membres dans la classe :

Caractéristiques : Similaire à 1, définit plusieurs y statiques, Mais il n'y a qu'un seul y, qui n'entre pas dans le calcul de la taille de la classe et ne dépend pas de l'existence de l'objet de classe (peut être appelé directement, et une déclaration externe est obligatoire)

4. Modifier la fonction membre de la classe :

Caractéristiques : f() : Il n'y a pas de pointeur this entre parenthèses, et seulement son pointeur statique les fonctions de cette classe et ses variables statiques peuvent être appelées, qui sont modifiées avec static et ne dépendent pas de l'existence d'objets de classe Exists (peuvent être appelées directement sans déclaration externe)

Quel est le rôle du mot-clé statique en C++ ?

.

Informations détaillées :

L'utilisation principale de la statique :

1. La méthode statique

la méthode statique est généralement. appelée méthode statique. Puisque les méthodes statiques sont accessibles sans s'appuyer sur aucun objet, il n'y a pas de this pour les méthodes statiques, car elles ne sont attachées à aucun objet, cela n'existe pas. Et en raison de cette fonctionnalité, les variables membres non statiques et les méthodes membres non statiques de la classe ne sont pas accessibles dans les méthodes statiques, car les méthodes/variables membres non statiques doivent s'appuyer sur des objets spécifiques avant de pouvoir être appelées.

Mais il convient de noter que bien que les méthodes membres non statiques et les variables membres non statiques ne soient pas accessibles dans les méthodes statiques, les méthodes/variables membres statiques sont accessibles dans les méthodes membres non statiques.

2. Variables statiques

Les variables statiques sont également appelées variables statiques. La différence entre les variables statiques et les variables non statiques est que les variables statiques sont partagées par tous les objets et n'ont qu'une seule copie dans le mémoire. Elle est initialisée si et seulement lorsque la classe est chargée pour la première fois.

Les variables non statiques appartiennent aux objets et sont initialisées lors de la création de l'objet. Il existe plusieurs copies et les copies appartenant à chaque objet ne s'affectent pas. L'ordre d'initialisation des variables membres statiques est initialisé dans l'ordre dans lequel elles sont définies.

3. Bloc de code statique

Le mot-clé static joue également un rôle clé dans la formation de blocs de code statiques pour optimiser les performances du programme. Un bloc statique peut être placé n’importe où dans une classe et il peut y avoir plusieurs blocs statiques dans une classe.

Lorsqu'une classe est chargée pour la première fois, chaque bloc statique sera exécuté dans l'ordre des blocs statiques, et ne sera exécuté qu'une seule fois. La raison pour laquelle le bloc statique peut être utilisé pour optimiser les performances du programme est due à ses caractéristiques : il ne sera exécuté qu'une seule fois lors du chargement de la classe.

Tutoriel recommandé : "Tutoriel du langage C"

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!

Déclaration:
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