假设我有一些模板类,具体取决于 type T
。 T
几乎可以是任何东西:int
、、int*
或;它不能是,参考或任何 cv 限定的。对于一些优化,我需要知道我是否可以子类化. 所以,我需要一些 trait type ,确定为基本特征的逻辑组合或通过一些 SFINAE 技巧。pair <int, int>
struct lol
void
T
is_subclassable
在原始示例中,int
andint*
是不可子类化的,whilepair <int, int>
和struct lol
are。
编辑:正如 litb 在下面指出的那样,联合也不是可子类化的,T
也可以是联合类型。
如何编写我需要的特征类型?