Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
735 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Parametre template sous forme de chaine de caracteres

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Parametre template sous forme de chaine de caracteres

n°642353
Profil sup​primé
Posté le 13-02-2004 à 19:04:52  answer
 

Salut
j'ai une classe template  

Code :
  1. template<class T>
  2. class MaClasse
  3. {
  4. public:
  5.   void printType() { cout << UN_TRUC << endl; }
  6. };


 
que faut il mettre a la place de UN_TRUC pour que si je fais

Code :
  1. MaClasse<double> a;
  2. a.printType();


ca m'écrive "double".
 
Il me semble avoir vu ca quelque part et que ca doit être possible. Est ce que quelqu'un sait ca ?
 
Merci d'avance

mood
Publicité
Posté le 13-02-2004 à 19:04:52  profilanswer
 

n°642354
jagstang
Pa Capona ಠ_ಠ
Posté le 13-02-2004 à 19:07:17  profilanswer
 

je m'avance beaucoup.  
 
cout << typeof(a) ;


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
n°642357
Taz
bisounours-codeur
Posté le 13-02-2004 à 19:10:28  profilanswer
 

JagStang a écrit :

je m'avance beaucoup.  
 
cout << typeof(a) ;

et tu perds et de beaucoup
 
 
#include <typeinfo>
 
typeid(truc).name()
 
attention la représentation est spécifique à ton système, le mieux, c'est au lancement de ton programme tu crées un map type_info -> string et après, ça va tout seul :D

n°642361
Profil sup​primé
Posté le 13-02-2004 à 19:13:57  answer
 

hmmmm ouais mais il me semble que le truc que j'avais vu n'utilisait pas rtti, en gros il mettait juste des "" autour du type quand il instanciait le template.

n°642364
jagstang
Pa Capona ಠ_ಠ
Posté le 13-02-2004 à 19:15:27  profilanswer
 

merde c'est du C# ça... ben bravo


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
n°642373
Profil sup​primé
Posté le 13-02-2004 à 19:19:17  answer
 

et en plus avec ta méthode taz, non seulement c peut etre platform dependant, mais en plus typeid marche avec des instances, pas des types. Il faudrait donc que je cree une instance bidon de mon type avant. C pas terrible quand meme ...

n°642375
Taz
bisounours-codeur
Posté le 13-02-2004 à 19:20:35  profilanswer
 

Code :
  1. #include <typeinfo>
  2. #include <map>
  3. #include <string>
  4. typedef std::map<std::string, std::string> Dict;
  5. inline
  6. Dict
  7. init_names()
  8. {
  9.   Dict names;
  10. #define ADD_NAME(TYPE) do{ names[typeid(TYPE).name()] = #TYPE ;}while(0)
  11.   ADD_NAME(double);
  12.   ADD_NAME(int);
  13.   ADD_NAME(std::string);
  14.   ADD_NAME(Dict);
  15.   ADD_NAME(init_names);
  16. #undef ADD_NAME
  17.   return names;
  18. }
  19. #include <iostream>
  20. int main()
  21. {
  22.   const Dict names(init_names());
  23.   for(Dict::const_iterator i(names.begin()); i!=names.end(); ++i)
  24.     {
  25.       std::cout << "symbol \"" << i->first << "\"\t->\t\"" << i->second << "\"\n";
  26.     }
  27. }

n°642378
Taz
bisounours-codeur
Posté le 13-02-2004 à 19:21:26  profilanswer
 

Oualb a écrit :

hmmmm ouais mais il me semble que le truc que j'avais vu n'utilisait pas rtti, en gros il mettait juste des "" autour du type quand il instanciait le template.

les rtti n'ont rien rt si on peut s'en passer

n°642394
youdontcar​e
Posté le 13-02-2004 à 19:58:55  profilanswer
 

## pour concaténer des tokens passés au preprocessor. Je sais pas si ça marche pour les templates.
 
http://developer.apple.com/documen [...] ation.html


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Parametre template sous forme de chaine de caracteres

 

Sujets relatifs
Caractères anti slash (\) en trop ! [PHP] & [HTML]Echange de caracteres
Pb sur conception chaine SQL [C] supprimer les echos de caracteres sur Unix
[MySql] Requete parametre sur like[VC++.Net]Conversion de chaine de caractère
Test de chaine inclu dans une autreExtraire le contenu binaire d'un fichier vers une chaine de caracteres
extraitre une sous chaine esct ce possible ? 
Plus de sujets relatifs à : Parametre template sous forme de chaine de caracteres


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR