Điều này chỉ cần làm việc trong g ++.C++ mẫu ma thuật đen
Tôi muốn có một chức năng
template<typename T> std::string magic();
ví dụ rằng:
Class Foo{}; magic<Foo>(); // returns "Foo";
Class Bar{}; magic<Bar>(); // returns "Bar";
Tôi không muốn điều này được thực hiện thông qua chuyên môn hóa (tức là phải xác định ma thuật đối với từng loại tôi hy vọng. để kéo một số ma thuật vĩ mô/mẫu màu đen ở đây. Bất cứ ai cũng biết làm thế nào?)
Cảm ơn!
Bây giờ phần nào cần thiết và bạn đang viết phần nào vì bạn nghĩ nó cần thiết. Lớp Foo có quan trọng không? Hãy cho chúng tôi một trường hợp sử dụng thực tế hơn. –
Một yêu cầu khá rõ ràng của nó đối với một số loại cơ chế phản xạ tĩnh đơn giản, không mang lại đầy đủ gamut của RTTI. – Justicle
Tôi muốn có một chức năng mà tôi có thể vượt qua bất kỳ loại nào và nó sẽ trả lại cho tôi tên của loại đó. – anon