Questo funziona solo in g ++.C++ template black magic
Voglio una funzione
template<typename T> std::string magic();
tale che:
Class Foo{}; magic<Foo>(); // returns "Foo";
Class Bar{}; magic<Bar>(); // returns "Bar";
Non voglio questo per essere fatto tramite la specializzazione (cioè dover definire magica per ogni tipo spero. per estrarre qui alcuni macro/modelli di magia nera. Qualcuno sa come?)
Grazie!
Ora quale parte di ciò è necessaria e quale parte stai scrivendo semplicemente perché pensi che sia necessario. La classe Foo è importante? Dacci un caso d'uso più realistico. –
È un requisito abbastanza ovvio per una sorta di semplice meccanismo di riflessione statica, che non introduce l'intera gamma di RTTI. – Justicle
Voglio avere una funzione che posso passargli qualsiasi tipo, e mi restituirà il nome del tipo. – anon