使用给定的 class 对 class 模板进行特化
Specialization of a class template with the given class
我有一个 class A 和一个 class 模板 B 声明如下:
class A;
template <class T>
class B;
我想为 T=int 声明 B 的特化,它与 A 重合,即像这样
template<>
class B<int> = A;
您可以通过嵌套 类 和 C++11 模板别名来模拟 B
的这种行为:
class A;
template <class T>
struct B_
{
class type{ /* Implement your general version of B here */ };
};
template <>
struct B_<int>
{
using type = A;
};
template <class T>
using B = typename B_<T>::type;
我有一个 class A 和一个 class 模板 B 声明如下:
class A;
template <class T>
class B;
我想为 T=int 声明 B 的特化,它与 A 重合,即像这样
template<>
class B<int> = A;
您可以通过嵌套 类 和 C++11 模板别名来模拟 B
的这种行为:
class A;
template <class T>
struct B_
{
class type{ /* Implement your general version of B here */ };
};
template <>
struct B_<int>
{
using type = A;
};
template <class T>
using B = typename B_<T>::type;