Le type exacte ? Je ne connais aucun moyen.
Le seul que je connaisse c'est par le poids de la variable (sizeof). Cependant, plusieurs types peuvent avoir le même poids.
Ceci dit, je ne vois aucune utilité à savoir le type de variable que l'on utilise dans un code puisque justement, tu devrais le savoir.
Bien que possible en C++ ça reste une énorme connerie, c'est résolu à la compilation, alors à quoi cela peut-il bien servir puisque le développeur est tout de même censé savoir ce qu'il code.
Il arrive qu'un pointeur sur un certain type de variable soit passé en LPARAM, mais la fonction utilise la valeur du HPARAM pour savoir comment elle doit caster le pointeur.
Je ne sais pas ce que tu veux faire, mais tu devrais peut etre proceder de la meme façon.
Il est vrai que c'est jouable en c++, mais je suis d'accord avec BruNews pour dire que c'est du "code bidouille".
Le problème en C++ c'est que le code est obligé de connaître en dynamique le type d'une variable, notamment pour manipuler les appels de fonctions virtuelles via pointeurs : si on déclare un pointeur sur classe mère et qu'on lui attribue l'adresse d'une classe fille (base du polymorphisme), le code a besoin de savoir le type de l'objet pointé pour appeller la bonne fonction.
Cela est également utilisé dans les dynamic_cast et autres du genre...
Cependant je trouve aussi qu'utiliser explicitement la reconnaissance de type dans le code est loin d'être propre...
Malheureusement il existe des cas où on veut effectuer une converison d'une classe dérivée
en classe de base, et dans ce cas le dynamic_cast reste la solution a utiliser, à mon avis plus propre que la définition d'une méthode virtuelle getType().