Bonsoir,
En me renseignant sur l'écriture de c++ je suis tombé sur #define et j'ai vu qu'il est par exemple possible de faire :
- #define MAX 255
Merci d'avance pour votre réponse!
Bonsoir,
En me renseignant sur l'écriture de c++ je suis tombé sur #define et j'ai vu qu'il est par exemple possible de faire :
Merci d'avance pour votre réponse!
Salut,
Je pense pas que tu puisses utiliser #define car ton MAX par exemple satisferait la définition d’une variable globale qui est qu’elle peut être utilisée n’importe où dans le programme. En l’occurrence, le MAX est de tout façon fourni dans le fichier d’entrée et devra être lu par ton programme, il faudrait alors faire un passage par référence pour pouvoir réutiliser MAX dans Le main ou dans une autre fonction.
le problème avec les variables globales c'est qu'elles sont variables.
Il n'y a aucun problème avec des constantes globales créées avec define ou constexpr.
MAX est un symbole créé avec une directive define : c'est une constante. C'est accepté.
les conventions de programmation du cours recommandent de créer ce genre de symbole pour remplacer les "magic numbers". L'alternative moderne (C++11) aux symboles créés avec #define est une constante créée avec constexpr. C'est aussi accepté car comme son nom l'indique il ne s'agit pas de variables.
PS: un bug de moodle fait que je ne reçois aucun des messages postés sur les forums ; j'ai signalé le problème et espère pouvoir être plus réactif prochainement
Follow the pulses of EPFL on social networks
© 2023 EPFL, all rights reserved