UCSC -- Utiliser les transtypages de style C++

De RAD Studio
Aller à : navigation, rechercher

Remonter à Audits C++

Description

L'audit recherche les transtypages de style C qui doivent être évités. Plusieurs opérateurs de transtypage spécifiques au langage C++ doivent être utilisés à la place. Ces opérateurs sont destinés à retirer certaines ambiguïtés et certains dangers inhérents au transtypage de style C. Ces opérateurs sont :

  • dynamic_cast — A utiliser pour la conversion des types polymorphiques.
  • static_cast — A utiliser pour la conversion des types non polymorphiques.
  • const_cast — A utiliser pour retirer les attributs const et volatile.
  • reinterpret_cast — A utiliser pour une simple réinterprétation des bits.

Utilisez les opérateurs C++ listés ici, au lieu du transtypage de style C. Toutefois, évitez d'utiliser const_cast et reinterpret_cast, si possible. Ces opérateurs présentent les mêmes dangers que les transtypages de style C, mais ils sont toujours nécessaires afin de les remplacer complètement.

Incorrect
 return (Cat*)myAnimalPtr;
Correct
 return dynamic_cast<Cat*>(myAnimalPtr);

Voir aussi