Bonjour à tous
y a-t-il une différence entre
etCode:unsigned char(1)
?Code:(unsigned char)1
Version imprimable
Bonjour à tous
y a-t-il une différence entre
etCode:unsigned char(1)
?Code:(unsigned char)1
Non, les deux correspondent à un cast C-style (donc, à bannir dans bien des cas).
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 !
Non il voulait dire que si cast tu dois faire alors il faut utiliser les casts C++.
ie :
static_cast<>
dynamic_cast<>
etc.
Effectivement je ne m'étais jamais intéressé à cette problématique de l'utilisation des static/dynamic cast. C'est toujours bon à connaître...
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).
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.