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

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
James Kanze
Le #307244
On May 20, 9:17 pm, Helfer Thomas
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

Publicité
Poster une réponse
Anonyme