web-dev-qa-db-fra.com

"avertissement: utilisation de cast à l'ancienne" dans g ++

Duplicata possible:
Quand faut-il utiliser static_cast, dynamic_cast et reinterpret_cast?

Avec ce code C++,

char* a = (char*) b;

J'ai reçu un avertissement warning: use of old-style cast.

Quelle serait la distribution du nouveau style?

34
prosseek

reinterpret_cast, static_cast, dynamic_cast et const_cast sont les alternatives au cast c ++.

  • const_cast pour supprimer const/volatile d'une variable const.
  • dynamic_cast pour effectuer des vérifications de validité à l'exécution lors de la conversion entre des types polymorphes
  • static_cast pour effectuer par exemple une conversion ascendante/descendante dans une hiérarchie d'héritage, mais sans vérification d'exécution, ou pour effectuer explicitement des conversions qui pourraient être implicites (par exemple, float to int)
  • reinterpret_cast pour convertir entre des types non liés.
47
Erik

Lisez cette rubrique pour en savoir plus sur les modèles de style C++ qui se présentent sous différentes formes:

Quand faut-il utiliser static_cast, dynamic_cast, const_cast et reinterpret_cast?

4
Nawaz