Maison >développement back-end >C++ >La différence entre const et statique en C++

La différence entre const et statique en C++

下次还敢
下次还敢original
2024-05-01 10:54:171161parcourir

Le modificateur

const indique une constante et la valeur ne peut pas être modifiée ; le modificateur static indique la durée de vie et la portée de la variable. Les données membres modifiées par const ne peuvent pas être modifiées après l'initialisation. Les variables modifiées par static sont initialisées au démarrage du programme et détruites à la fin du programme. Elles existeront même s'il n'y a pas d'objet actif et sont accessibles à travers les fonctions. Les variables locales modifiées par const doivent être initialisées lors de leur déclaration, tandis que les variables locales modifiées par static peuvent être initialisées ultérieurement. Les variables membres de classe modifiées par Const doivent être initialisées dans le constructeur ou la liste d'initialisation, et les variables membres de classe modifiées statiquement peuvent être initialisées en dehors de la classe.

La différence entre const et statique en C++

La différence entre const et static en c++

Différence simple et claire :

  • Le modificateur const représente une constante dont la valeur ne peut pas être modifiée pendant l'exécution du programme.
  • Le modificateur statique indique la durée de vie et la portée d'une variable.

Explication détaillée :

modificateur const :

  • const est utilisé pour déclarer des constantes, c'est-à-dire des variables dont les valeurs ne peuvent pas être modifiées.
  • les membres de données modifiés const ne peuvent être initialisés que dans le constructeur de classe ou la liste d'initialisation. Les variables
  • const ne peuvent pas être modifiées pendant l'exécution du programme, sinon une erreur de compilation se produira.
  • const peut être appliqué à des objets, des pointeurs ou des références.

modificateur static :

  • static est utilisé pour déclarer des variables statiques, c'est-à-dire des variables qui existent dans tout le programme.
  • Les variables statiques sont initialisées au démarrage du programme et détruites à la fin du programme.
  • Les variables statiques existent même lorsqu'il n'y a pas d'objet actif et sont accessibles à travers les fonctions.
  • static peut être appliqué aux variables globales, aux variables membres de classe et aux variables locales.

Autres différences :

  • les données membres modifiées par const sont en lecture seule, tandis que les données membres modifiées statiquement peuvent être lues et écrites.
  • Les variables locales modifiées par Const doivent être initialisées lorsqu'elles sont déclarées, tandis que les variables locales modifiées statiquement peuvent être initialisées ultérieurement.
  • Les variables membres de classe modifiées par Const doivent être initialisées dans le constructeur ou la liste d'initialisation, tandis que les variables membres de classe modifiées statiquement peuvent être initialisées en dehors de la classe.

Exemple :

<code class="cpp">// const 常量
const int MY_CONSTANT = 10;

// static 全局变量
static int global_count;

// static 类成员变量
class MyClass {
public:
    static int static_member;
};</code>

Dans l'exemple ci-dessus :

  • MY_CONSTANT est une constante et ne peut pas être modifiée une fois initialisée.
  • global_count est une variable globale statique qui existe dans tout le programme.
  • MyClass::static_member est une variable membre de classe statique accessible en dehors de la 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!

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