用于可变模板的基类列表
List of base classes for use with variadic templates
是否有办法访问c++中一个类的所有基类?由于可变的模板是可用的,我认为这将是有意义的,例如___BASE,这是当前类派生的所有类型的可变列表。这样还可以检查一个类或它的基类是否属于某种类型。这是已经可能了,还是我错过了什么,为什么这是不可能的!?
语言中没有一种通用的机制可以告诉你所有的基类,尽管你可以自由地为你的类层次结构的所有成员添加一个合适的typedef,以使这些信息可用(例如,typedef一个元组,其参数类型是祖先加上祖先的祖先)——你可能会为此写一点mixin。
至于检查某物是否为另一物的基,这已经是std::is_base_of
型性状标准的一部分。
相关文章:
- 为什么我需要在成员发起器列表中重复基类的模板参数?
- 在初始化列表之外手动调用基类的构造函数
- 虚拟基类的派生类列表
- 为什么 C++ 的创建者决定使用构造函数初始值设定项列表来初始化基类?
- 子类对象列表重新解释为基类对象列表?(C++11).
- 将initalizer列表与从空基类继承的结构一起使用
- 使用不包括基类的模板从C++中的列表中查找特定类型
- 流运算符和多态基类列表
- 为什么在派生最多的类的初始值设定项列表中显式调用虚拟基类构造函数的规则,而较老的祖先已经拥有它?
- 从其基类列表中调用重写的函数
- 是否可以在基类初始化器列表中传递成员对象
- 初始值设定项列表:基类和成员函数中的构造函数
- 自动将派生类的指针列表转换为基类的指针列表
- 如何制作一个既可以包含基类又可以包含派生类的列表
- 在模板基类列表中使用类本地类型别名
- 当后代需要不同的参数列表时,我应该如何在基类中定义抽象方法
- C++基类列表以及如何确定类类型
- Boost.Python:来自 python 中C++对象:无法添加到基类列表中C++
- 用于可变模板的基类列表
- 类设计以避免需要基类列表