Bonjour
Le programme suivant compile bien.
Il me semble qu'il serait plus pratique d'écrire dans le corps de la classe
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 // Quelques" #include" inutiles, sans aucun doute ! #include <iostream> #include <fstream> #include <string> #include <iomanip> #include <cmath> #include <Windows.h> #include <cstdlib> using namespace std; class toto { public: static const int m_const = 5 ; // la constante est crée et initialisée (de la place mémoire a été allouée) static int m_var ; // la variable est déclarée mais n'a aucune existence (aucune place mémoire allouée) toto(){} ; ~toto(){} ; }; int toto::m_var = 12; // la variable est crée seulement maintenant et initialisée (0 par défaut) int main() { cout<<"m_const = "<<toto::m_const<<", m_var = "<<toto::m_var<<endl; return 0; }
mais ce n'est pas possible.
Code : Sélectionner tout - Visualiser dans une fenêtre à part static int m_var = 12;
Ma question est : Il y a-t-il une raison pour traiter différemment les variables statiques et les constantes statiques ?
Merci d'avance
Partager