我将在一个例子来解释:传递指针的类型作为模板参数
template<typename T>
class Base{}
class A: public Base<A>{}
class foo(){
public:
template<typename T>
bool is_derived(){
/* static check if T is derived from Base<T> */
}
}
我发现this性状以确定一个类是否是另一个的基座。
我的问题是,如果T是一个指针而没有专门的boo模板函数,我怎么能从T发送模板参数到is_base_of?
我想要做的是这样的:如果 T是一个指针,然后if (is_base_of<Base<*T>,*T>) return true;
如果T是不是指针,然后if (is_base_of<Base<T>,T>) return true;
的std :: is_base_of :: type> –
或者简单的'std :: is_ba se_of >'in C++ 14。 –
它可以是基地还是必须是基地? –
Loay