[C++] defnir des constantes dans plusieurs fichiers
Répondre à la discussion
Affichage des résultats 1 à 8 sur 8

[C++] defnir des constantes dans plusieurs fichiers



  1. #1
    .:Spip:.

    Question [C++] defnir des constantes dans plusieurs fichiers


    ------

    Bonjour à tous et à toutes,

    Je vous solicite pour une question de constantes en c++

    Je travaille en ce moment sur un projet assez conséquent, donc j'y vais sur l'eclatement en plusieurs fichiers. Mais j'ai un petit probleme.


    Je dois utiliser un peu partout une constante N, alors j'ai mis un

    # define N 36

    Problème, c'est que je dois changer cette valeur assez souvent pour tester le prog, et changer la constante dans plusieurs fichiers, c'est pas top, risque d'oublies etc...

    Une alternative consisterai a declarer une variable global constante, mais bon, je suis pas fan...


    Si vous avez mieux, je suis preneur.

    Merci
    François

    -----
    Soyez libre, utilisez Linux.

  2. #2
    invite765732342432
    Invité

    Re : [C++] defnir des constantes dans plusieurs fichiers

    Citation Envoyé par .:Spip:. Voir le message
    Je dois utiliser un peu partout une constante N, alors j'ai mis un

    # define N 36
    Salut Spip...
    Si tu mets cette ligne dans un fichier "constantes.h" et #include "constantes.h" dans tous tes fichiers, ça devrait marcher, non ?

    Ou alors, j'ai pas bien compris ce que tu veux faire

  3. #3
    .:Spip:.

    Re : [C++] defnir des constantes dans plusieurs fichiers

    ah oué... pas bête du tout , ca doit fonctionner ca. Simple, mais je n'y avais pas pensé Je teste ca demain, et je redis quoi.

    Merci
    Soyez libre, utilisez Linux.

  4. #4
    .:Spip:.

    Re : [C++] defnir des constantes dans plusieurs fichiers

    Puisque j'avais 5 min, je viens de tester, et ca marche nikel.

    Encore merci Faith.

    Fr.
    Soyez libre, utilisez Linux.

  5. A voir en vidéo sur Futura
  6. #5
    Towl

    Re : [C++] defnir des constantes dans plusieurs fichiers

    Il faut juste faire gaffe aux inclusions multiples du même qui peuvent poser des problèmes. En général il est conseillé de faire des headers sous cette forme :

    Code:
    #ifndef _CONSTANTES_H
    #define _CONSTANTES_H
    
    #define N  3
    
    #endif /* _CONSTANTES_H */
    Et sinon, il est aussi possible de passer des constantes à la compilation, ce qui permet un peu plus de souplesse pour les constantes fréquement modifiées je trouve (gcc option -DNOM_CONSTANTE=VALEUR , cl.exe option /DNOM_CONSTANTE=VALEUR)
    Et ton code devient :

    Code:
    #ifndef _CONSTANTES_H
    #define _CONSTANTES_H
    
    #ifndef N
        #define N  3 /* Valeur par défaut si N n'a pas été définit à la compil */
    #endif /* N */
    
    #endif /* _CONSTANTES_H */
    The only limiting factor of the Linux operating system, is his user. - Linus Torvalds

  7. #6
    .:Spip:.

    Re : [C++] defnir des constantes dans plusieurs fichiers

    Merci pour ces remarques.

    En effet, le second peut s'averer tres pratique.

    Pour etre sur de bien comprendre (j'ai jamais utilisé cela meme si je l'ai croisé)

    traduction : si constantes.h n'a pas encore été definie, alors on définie la blabla qui est en dessous et on stop au endif et on mets un com pour savoir a quoi correspond ce endif.

    Pour le second meme chose, appliqué a N. Je n'ai pas fait d'erreurs ?

    Fr
    Soyez libre, utilisez Linux.

  8. #7
    Towl

    Re : [C++] defnir des constantes dans plusieurs fichiers

    C'est exactement ca. Et tu as aussi le #else qui peut etre pratique dans certains cas :

    Code:
    #ifdef DEBUG
       #define LOG(...)  \
                      printf("Error in %s (%s line %d)\n", __FUNCTION__, __FILE__, __LINE__); \
                      printf(stderr, __VA_ARGS__);
    #else
       #define LOG(...)
    #endif
    Qui te permet par exemple d'utiliser une fonction LOG() qui marche comme printf, mais active seulement si tu as défini ta variable de débug. Sinon, ca ne fait rien.
    The only limiting factor of the Linux operating system, is his user. - Linus Torvalds

  9. #8
    polo974

    Re : [C++] defnir des constantes dans plusieurs fichiers

    Citation Envoyé par .:Spip:. Voir le message
    ...
    Je travaille en ce moment sur un projet assez conséquent...
    Je dois utiliser un peu partout une constante N, ...
    Attention aux nom de variables ou constantes sur "un projet assez conséquent".
    Il vaut mieux, même si c'est plus long à écrire, avoir un nom un peu plus parlant que N.
    Il suffit d'imaginer qu'on récupère un peu de code à gauche et à droite, et si chacun défini N pour son bout de code, mais qu'il y en a besoin plus ou moins globalement (au hasard: N: nombre d'essais max, N: nombre de joueurs max, ....) ça pose problème... tôt ou tard, et le mieux est de le régler le plus tôt possible.

Discussions similaires

  1. VBA Excel: appliquer une macro a plusieurs fichiers
    Par inviteb73ce398 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 14/03/2007, 09h45
  2. Grippe aviaire - enfermement des volailles dans plusieurs départements
    Par Romain-des-Bois dans le forum Actualités
    Réponses: 1
    Dernier message: 28/10/2005, 15h42
  3. Constantes dans l'équilibre des réactions
    Par cedbont dans le forum Chimie
    Réponses: 2
    Dernier message: 03/02/2005, 21h31
  4. Plusieurs fichiers dans MPLAB
    Par invitecdcfb1c0 dans le forum Électronique
    Réponses: 5
    Dernier message: 17/12/2004, 10h40
  5. Uploader des fichiers dans un site
    Par invite61bfdc16 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 2
    Dernier message: 18/08/2004, 23h38
Découvrez nos comparatifs produits sur l'informatique et les technologies.