在C ++ 11中为专用模板命名别名

时间:2013-12-05 00:49:20

标签: c++ templates metaprogramming

我这样做:

template<typename Elem, int D1=1, int D2=1, int D3=1> class matrix;

并有专业化:

template<typename Elem> class matrix<Elem, 1, 1, 1>;

现在,我想获得专用模板的别名,如下所示:

template<typename Elem> class scalar;

由于它有一个模板参数Elem,因此typedef似乎不起作用。而且我不想从矩阵&lt;中导出新的标量类。 Elem,1,1,1&gt; ...我能实现吗?非常感谢。

1 个答案:

答案 0 :(得分:2)

您可以使用using别名:

template<class Elem>
using scalar = matrix<Elem, 1, 1, 1>;