Bonjour à tous
y a-t-il une différence entre
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part unsigned char(1)
?
Code : Sélectionner tout - Visualiser dans une fenêtre à part (unsigned char)1
Bonjour à tous
y a-t-il une différence entre
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part unsigned char(1)
?
Code : Sélectionner tout - Visualiser dans une fenêtre à part (unsigned char)1
Find me on github
Non, les deux correspondent à un cast C-style (donc, à bannir dans bien des cas).
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Sûr que les casts, c'est jamais très beau. J'utilise en général la deuxième syntaxe et là je maintiens du code qui utilise la première, je me demandais s'il y avait un sens différent.
Merci pour la réponse !
Find me on github
Non il voulait dire que si cast tu dois faire alors il faut utiliser les casts C++.
ie :
static_cast<>
dynamic_cast<>
etc.
"Hardcoded types are to generic code what magic constants are to regular code." --A. Alexandrescu
Effectivement je ne m'étais jamais intéressé à cette problématique de l'utilisation des static/dynamic cast. C'est toujours bon à connaître...
Find me on github
Et reinterpret_cast<> qui peut être utile dans certains cas.
Tout est bon pour éviter qu'un const_cast<> ne soit pas immédiatement visible (ce qui est pour moi, le principal danger des casts C-style: Je suis très à cheval sur la const-correctness).
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Bonjour,
Ca va plus loin que le static/dynamic cast. Le C++ offre les opérateurs pour tous les casts dont tu as besoin de façon à éviter le cast à la C. Cette entrée de la FAQ aborde le sujet. Cependant, l'utilisation d'un cast (et en particulier le down casting ou le const cast) doit se faire poser la question de sa conception.
Ressources proposées par 3DArchi - Les fonctions virtuelles en C++ - Cours et tutoriels C++ - FAQ C++ - Forum C++.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager