C++:从类型索引中获取超类类型索引



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

std::type_index(typeid(T))

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

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

详细地说:我想将对象的指针放入地图中,按对象类型进行索引。如果能够将对象不仅作为自己的类型插入,而且作为它们的超类型插入,那就太好了。

似乎您正在寻找类似 std::bases 的东西,它在 c++ 标准中不受支持,但在 gcc 中实现(您可以在此处阅读更多内容(。

最新更新