C ++:从类型索引

时间:2017-07-24 09:51:04

标签: c++ templates reflection superclass

我有一个模板类型T,即子类Base(不能直接)。 使用

std::type_index(typeid(T))

我可以获取T的元数据对象。有没有办法为std::type_index的每个超类获取T,以便我可以向上遍历超类,直到达到Base

我知道C ++本身并不提供反思,但也许有人知道一些模板魔术。

详细说明:我想将对象的指针放入地图中,由对象类型索引。能够插入对象不仅仅是他们自己的类型,而且作为他们的超类型也是很好的。

1 个答案:

答案 0 :(得分:1)

好像你正在寻找类似std :: bases的东西,这在c ++标准中是不受支持的,但是用gcc实现(你可以阅读更多here)。