我有一个带状矩阵类,它继承自一个抽象矩阵类
template <typename T, std::size_t R, std::size_t B>
class BMatrix : public Matrix<T, R, R> {
...
};
我想要一个三对角矩阵类,我是怎么做到的(使用继承)
template <typename T, std::size_t R>
class TriMatrix : public BMatrix<T, R, 3> {
...
}
现在我不确定这是否是最好的做法(因为对于三对角矩阵有非常有效的方法,但一般带状矩阵却没有那么多)。虽然上述工作,但我想使用模板特化。但是我混合使用模板类型和变量。
有没有一种方法可以在不使用继承的情况下做到这一点?
比如像
template <typename T, std::size_t R, >
class BMatrix<T, R, 3> {
...
} typedef TMatrix ??
最佳答案
如果我没理解错的话 你可能有你的部分特化:
template <typename T, std::size_t R>
class BMatrix<T, R, 3> {
// ...
};
和一个使用
工具
template <typename T, std::size_t R>
using TriMatrix = BMatrix<T, R, 3>;
关于c++ - 变量模板特化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57919697/