【发布时间】:2018-10-23 07:00:17
【问题描述】:
我在阅读 Eigen 库中的一些源代码时遇到了一些麻烦。 这是基类 TensorBase:
template<typename Derived>
class TensorBase<Derived, ReadOnlyAccessors> {
...
};
在下面的代码中,基类TensorBase如何继承自身?使用这种继承有什么意义?这种情况常见吗?
template<typename Derived, int AccessLevel =
internal::accessors_level<Derived>::value>
class TensorBase : public TensorBase<Derived, ReadOnlyAccessors> {
...
};
【问题讨论】:
-
一个类确实不能继承自己,但 TensorBase 不是一个类。这是一个类模板。一个类模板的特化可以继承同一模板的另一个特化。
-
@n.m.我得到了它。专业化只是一个不同的类别。
-
@aliyasineser:第一个链接只是回答我的问题。谢谢!
-
@YulongAo 非常欢迎!