Esto solo necesita trabajar en g ++.plantilla C++ magia negra
Quiero una función
template<typename T> std::string magic();
tal que:
Class Foo{}; magic<Foo>(); // returns "Foo";
Class Bar{}; magic<Bar>(); // returns "Bar";
no quiero que esto se haga a través de la especialización (es decir, tener que definir para cada tipo de magia que estoy esperando. para extraer algo de magia negra macro/plantilla aquí. ¿Alguien sabe cómo?)
Gracias!
Ahora qué parte de eso es necesaria y qué parte estás escribiendo porque crees que es necesaria. ¿Es la clase Foo importante? Danos un caso de uso más realista. –
Es un requisito bastante obvio para algún tipo de mecanismo de reflexión estática simple, que no traiga toda la gama de RTTI. – Justicle
Quiero tener una función que pueda pasarla de cualquier tipo, y me devolverá el nombre del tipo. – anon