相关疑难解决方法(0)

特性检查模板类的某些特化是否是特定类的基类

std::is_base_of现代STL.它允许我们确定第二个参数是从第一个参数派生还是它们是相同的类,或者确定它们之间是否存在这样的关系.

是否有可能确定一个类是否来自某个具体的模板类,而不区分其专业化所涉及的具体实际参数?

说,我们有;

template< typename ...types >
struct B {};
Run Code Online (Sandbox Code Playgroud)

template< typename ...types >
struct D : B< types... > {};
Run Code Online (Sandbox Code Playgroud)

是否可以定义类型特征:

template< typename T > is_derived_from_B;
Run Code Online (Sandbox Code Playgroud)

这样的派生自std::true_type何时T的任何特化D和派生自std::false_typeif T不是从任何专业化派生而来的B

c++ traits type-traits c++11 c++14

10
推荐指数
1
解决办法
1611
查看次数

标签 统计

c++ ×1

c++11 ×1

c++14 ×1

traits ×1

type-traits ×1