Faut-il cast ou pas cast en C++ ?
Bonjour
Après avoir programmé un algo en R, en Haskell et en Julia, je l'ai maintenant programmé en C++ (en fait en Rcpp, c'est une librairie R pour faire facilement du C++ exportable dans R, bref peu importe). Mais je ne sais pas si j'ai de bonnes pratiques dans ce langage.
J'ai une question sur le "cast" (je ne sais pas comment on dit en français). Supposons que j'aie un double x et un int i, et je veux faire la division x / i. Je peux alors faire simplement x / i, ça marche car C(++) reconnaîtra bien une division de flottants. Ou bien je peux faire le cast: x / (double)i. Quelle est la meilleure pratique ?
Maintenant supposons que j'aie aussi un double y et je veux faire x / i et y / i. Est-ce que je gagne quelque chose si je fais un seul cast au lieu de deux, ainsi :
Après avoir programmé un algo en R, en Haskell et en Julia, je l'ai maintenant programmé en C++ (en fait en Rcpp, c'est une librairie R pour faire facilement du C++ exportable dans R, bref peu importe). Mais je ne sais pas si j'ai de bonnes pratiques dans ce langage.
J'ai une question sur le "cast" (je ne sais pas comment on dit en français). Supposons que j'aie un double x et un int i, et je veux faire la division x / i. Je peux alors faire simplement x / i, ça marche car C(++) reconnaîtra bien une division de flottants. Ou bien je peux faire le cast: x / (double)i. Quelle est la meilleure pratique ?
Maintenant supposons que j'aie aussi un double y et je veux faire x / i et y / i. Est-ce que je gagne quelque chose si je fais un seul cast au lieu de deux, ainsi :
double i_dbl = (double)i; double ratio1 = x / i_dbl; double ratio2 = y / i_dbl;
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Anyway, en bon français on parle de conversion de type, de coercition ou de cast (avoue qu'en italique pour indiquer l'emprunt d'une langue étrangère, c'est tout de suite plus classe !).
Tu peux dire "transtypage", mais j'ai plutôt l'habitude de dire "cast" et même d'employer le verbe "caster".
Cordialement,
Rescassol