标签: c++ templates reflection superclass
我有一个模板类型T,即子类Base(不能直接)。 使用
T
Base
std::type_index(typeid(T)),
std::type_index(typeid(T))
我可以获取T的元数据对象。有没有办法为std::type_index的每个超类获取T,以便我可以向上遍历超类,直到达到Base?
std::type_index
我知道C ++本身并不提供反思,但也许有人知道一些模板魔术。
详细说明:我想将对象的指针放入地图中,由对象类型索引。能够插入对象不仅仅是他们自己的类型,而且作为他们的超类型也是很好的。
答案 0 :(得分:1)
好像你正在寻找类似std :: bases的东西,这在c ++标准中是不受支持的,但是用gcc实现(你可以阅读更多here)。