假设我有一些模板类,具体取决于类型T
。 T
几乎可以是任何东西:int
,int*
,pair <int, int>
或struct lol
;它不能是void
,参考或任何cv-qualified虽然。对于一些优化,我需要知道我是否可以继承T
。所以,我需要一些特质类型is_subclassable
,这些特质被确定为基本特征或通过一些SFINAE技巧的逻辑组合。C++模板:如何确定类型是否适合子类化
在原始示例中,int
和int*
不是可分类的,而pair <int, int>
和struct lol
是。
编辑:正如以下指出的,工会也不是可分类的,并且T
也可以是工会类型。
如何编写我需要的特征类型?
嗯。 [is_class](http://msdn.microsoft.com/en-us/library/bb982638.aspx)是否足够?不确定。 –