Pages : 1
#1 Le 12/05/2007, à 13:36
- benlaug
#define vs const int
Petite question tout bête.
Pourquoi faut-il préférer les const int aux defines pour une constante numérique ?
Voilà, c'est bien de le savoir, mais c'est bien de savoir pourquoi aussi.
Merci
Hors ligne
#2 Le 12/05/2007, à 13:52
- Link31
Re : #define vs const int
Parce que le compilateur peut utiliser certaines optimisations avec les constantes, alors qu'il ne le peut pas avec les définitions.
Si quelqu'un a plus d'information là-dessus, ça m'intéresse aussi.
Hors ligne
#3 Le 12/05/2007, à 16:54
- benlaug
Re : #define vs const int
Et tant qu'à faire j'ai une autre question.
Pourquoi gcc plus que cc ?
Hors ligne
#4 Le 12/05/2007, à 17:58
- Link31
Re : #define vs const int
Pourquoi gcc plus que cc ?
GCC : GNU Compiler Collection (anciennement GNU C Compiler)
CC : C Compiler, commande conservée pour des raisons historiques (pour la rétro-compatibilité)
Dernière modification par Link31 (Le 12/05/2007, à 17:58)
Hors ligne
#5 Le 12/05/2007, à 18:19
- abetsic
Re : #define vs const int
D'ailleurs chez moi, cc est un lien symbolique vers gcc
Hors ligne
#6 Le 13/05/2007, à 20:35
- Luc Hermitte
Re : #define vs const int
#define -> pré-compilateur qui n'a aucune vision du langage
const int -> compilateur qui connait le langage (encore heureux)
=> #define pas débuggable, erreurs impossibles à comprendre vu que le code lu ne correspond pas au code compilé.
De plus en C++, les #define polluent l'espace de noms global. Et c'est une véritable plaie.
Pages : 1