static_cast, dynamic_cast : le doute m'habite
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 :
Code:
1 2 3
|
float b = 0.5f;
int a = (int)b; |
et
Code:
1 2 3
|
float b = 0.5f;
int a = static_cast<int>(b);//EDIT : correction (merci Medinoc) |
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 :P
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.