Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Déclaration et définition de constantes intégrales globales

1 réponse
Avatar
Helfer Thomas
Bonjour,

j'aimerai savoir si il est possible de définir une constante intégrale
globale dans un fichier d'entête :

const int max = 100;

J'avoue avoir toujours cru qu'il fallait déclarer une telle constante
extern et la définir dans un fichier source.

Cordialement,

Helfer Thomas

1 réponse

Avatar
James Kanze
On May 20, 9:17 pm, Helfer Thomas wrote:

j'aimerai savoir si il est possible de définir une constante intégrale
globale dans un fichier d'entête :

const int max = 100;


Certainement. Par défaut, une variable déclarée const à la
portée de namespace est implicitement static. Donc, elle peut
(et doit) être définie dans toutes les modules qui l'utilise. Ce
qui fait que le compilateur voit forcément la définition, avec
la valeur initiale, et qu'on peut s'en servir dans des contextes
où une expression constante est éxigée (genre dimension d'un
tableau).

Note bien qu'il s'agit d'une variable différente dans chaque
module, avec sa propre adresse.

J'avoue avoir toujours cru qu'il fallait déclarer une telle
constante extern et la définir dans un fichier source.


C'était le cas en C, au moins de le déclarer explicitement
static.

--
James Kanze (GABI Software) email:
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34