假設我有一些模板類,具體取決於類型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)是否足夠?不確定。 –