Création
d'entreprise
Posez votre question Signaler

#define et const double [Résolu]

jihane jihane 46Messages postés 29 octobre 2011Date d'inscription 11 avril 2012Dernière intervention - Dernière réponse le 8 nov. 2011 à 18:47
Bonjour,
pourquoi en C en utilise le #define mais en C++ en utilise le Const double c'est quoi la différence ??
Lire la suite 

#define et const double »

10 réponses
Réponse
+1
moins plus
On peut utiliser les deux (#define et const) en C et en C++
Regarde Langage C - Les variables et/ou Langage C++ - Les variables,dans la partie "Définition de constantes" (en bas de page)
jihane jihane- 7 nov. 2011 à 17:08
ok merci
Ajouter un commentaire
Réponse
+0
moins plus
la différence, c'est qu'avec "const <type>" tu défini une vrai variable avec tout les contrôles lié et d'autres choses.
"#define" ne produit pas de réelle variable, mais fait un remplacement dans le texte avant la vrai compilation, donc pas de vérification.
La forme en "const ..." est à privilégié dans tout les cas (C ou C++)
fiddy- 7 nov. 2011 à 22:31
Pour choisir entre #define et const, cela dépend de ce qu'on veut faire.
En revanche, un avantage pour const :
Cela permet au compilateur de réaliser quelques optimisations lors de la pré-compilation.
Char Snipeur- 8 nov. 2011 à 08:44
un avantage du const, c'est que tu peux passer la variable dans les fonctions demandant une référence ou un pointeur. Tu peux référencé la valeur, car c'est une variable.
Et normalement, ça accélère l'exécution, car lorsque tu utilises directement une valeur (#define) dans une fonction le compilateur crée une espèce de variable temporaire afin de la passer en argument à la fonction.
Pouet_forever - 8 nov. 2011 à 18:47
Quel est l'intérêt de passer un pointeur sur une variable constante ?
Niveau vitesse d'exécution, je ne vois pas trop où est l'amélioration, dans tous les cas, pointeur ou variable, une variable est créée. L'une contient une valeur 'pure' et l'autre contient simplement l'adresse de la variable, ce qui, au final, revient au même.
Ajouter un commentaire
Ce document intitulé « #define et const double » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?