Message #10440
Sujet: Aide sur les templates
| Type | Date | Auteur | Contenu |
|---|---|---|---|
| Dernière modification | 08-04-2012 22:15:53 | johnplayer |
Voila, je voudrais implémenter une fonction du genre :
Bon forcément, le code au-dessus est faux. Mais j'aimerais savoir s'il est possible de "connaitre" le type de T afin de le sauvegarder dans un fichier en même temps que la variable. Je doute que ce soit possible mais l'espoir fait vivre^^. En espérant qu'un connaisseur en c++ passe dans le coin... Edit : Je suis tombé sur : #include <typeinfo> using namespace std; typeid(variable).name(); Mais ça me donne des noms bizarres normalement si je fais : printf( typeid(valeur).name() ); je devrais avoir clairement le type de "valeur". Pour int, j'obtiens 'i'. Pour u8, j'obtiens 'h'. Pour u16, j'obtiens 'j'. Enfin pas terrible. Edit2 : ça y est, j'ai trouvé!!! abi::__cxa_demangle(typeid(valeur).name() ,0,0,&status ) donne le vrai nom sans erreur. Ouf!! J'ai cru que j'allais devoir coder une fonction par type. |
| Création du message | 08-04-2012 21:11:07 | johnplayer |
Voila, je voudrais implémenter une fonction du genre :
Bon forcément, le code au-dessus est faux. Mais j'aimerais savoir s'il est possible de "connaitre" le type de T afin de le sauvegarder dans un fichier en même temps que la variable. Je doute que ce soit possible mais l'espoir fait vivre^^. En espérant qu'un connaisseur en c++ passe dans le coin... Edit : Je suis tombé sur : #include <typeinfo> using namespace std; typeid(variable).name(); Mais ça me donne des noms bizarres normalement si je fais : printf( typeid(valeur).name() ); je devrais avoir clairement le type de "valeur". Pour int, j'obtiens 'i'. Pour u8, j'obtiens 'h'. Pour u16, j'obtiens 'j'. Enfin pas terrible. Edit2 : ça y est, j'ai trouvé!!! abi::__cxa_demangle(typeid(valeur).name() ,0,0,&status ) donne le vrai nom sans erreur. Ouf!! J'ai cru que j'allais devoir coder une fonction par type. |
| Options | Liens officiels | Caractéristiques | Statistiques | Communauté |
|---|---|---|---|---|
|
Préférences cookies Corrections |
![]() ![]() ![]() ![]() |
Propulsé par Django xhtml 1.0 css 2.1 |
884 membres 1440 sujets 11337 messages |
Dernier membre inscrit: Saidov17 115 invités en ligne membre en ligne: - RSS Feed |