Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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

benlaug a écrit :

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.