Hi!
J'ai récemment eu besoin d'un dynamic_cast je suis donc aller voir la FAQ à ce sujet.
Et depuis j'ai un doute affreux.
Déjà mis à part un éventuel warning : quelles différences entre :
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 float b = 0.5f; int a = (int)b;
Parce que je sais pas vous mais pour ce genre de conversion j'utilise plutôt la première méthode, certes plus C-like mais tellement moins longue à écrire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 float b = 0.5f; int a = static_cast<int>(b);//EDIT : correction (merci Medinoc)
Et autre chose :
avant j'utilisait le static_cast dans le sens conversion classes dérivée -> classe parent. Et le dynamic_cast (avec toutes les précautions qui s'imposent) dans le sens classe parent -> classe dérivée.
Est ce la bonne logique ?
Je me suis aperçu, un peu par hasard que le down casting fonctionnait de la même façon dans mon programme avec le static_cast ou le dynamic_cast.
Partager