Dies benötigt nur Arbeit in g ++.C++ Vorlage schwarze Magie
Ich möchte eine Funktion
template<typename T> std::string magic();
, so dass:
Class Foo{}; magic<Foo>(); // returns "Foo";
Class Bar{}; magic<Bar>(); // returns "Bar";
Ich will nicht diese über Spezialisierung durchgeführt werden (dh mit für jede Art Magie zu definieren, ich hoffe. um etwas Makro/Schablone schwarze Magie hier zu ziehen. Weiß jemand wie?)
Danke!
Nun, welcher Teil davon ist notwendig und welcher Teil schreiben Sie gerade, weil Sie denken, dass es gebraucht wird. Ist die Klasse Foo wichtig? Gib uns einen realistischeren Anwendungsfall. –
Es ist eine ziemlich offensichtliche Anforderung für einen einfachen statischen Reflexionsmechanismus, der nicht den vollen Umfang von RTTI einbringt. – Justicle
Ich möchte eine Funktion haben, die ich jedem Typ übergeben kann, und es wird für mich den Namen des Typs zurückgeben. – anon