Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
On May 20, 9:17 pm, Helfer Thomas <helfertho...@free.fr> 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:james.kanze@gmail.com
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
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