A vrai dire, je me suis toujours posé la question.
J'ai l'impression que le seul intérêt de ces conversions est de pouvoir écrire du code sale. Des choses du style par exemple:
1 2 3
| MonObjet * objet = new MonObjet();
if ( objet )
objet->FaitQuelqueChose(); |
Ecriture qui est déconseillée car trop peu explicite.
Il y a peut-être derrière cela des histoires de compatibilités avec le C, ou peut-être des utilisations spécifiques dont j'ignore tout.
Mais après 10 ans d'expérience en c++, je n'en ai jamais eu l'utilité, et je serais tenté de te conseiller d'oublier cette histoire.
edit: à noter qu'avec le c++11, il est dorénavant préférable d'utiliser nullptr (à la place de 0 ou NULL). Tu trouveras un exemple directement en rapport avec ta question ici:
http://www.cprogramming.com/c++11/c+...num-class.html
Partager