在一个地方继承和键入(使用)

inherit and typedef(using) in one place

本文关键字:继承 使用 一个 方继承      更新时间:2023-10-16

是否可以在一个地方继承一个类并在一个地方进行键入?

class B{};
template<class T1,class T2> class D{};//In real case, it has 5+ parameters
template<class T2>class E: public D<B,T2> {   //duplicate D<B,T2>
    using super=D<B,T2>;                      //duplicate D<B,T2>
    //.... a lot of refererence to "super" (e.g. SNIFAE, static_assert)
};

我梦dream以求: -

template<class T2>class F: using super= public D<B,T2> {
};

我试图避免使用宏。
到目前为止,我还没有发现任何问题,但还没有发现某些确认是不可能的。

您无法真正做到这一点。但是您可以避免使用

重新播放所有模板参数
using super = typename E::D;

是否可以在一个地方继承一个类并在一个地方进行键入?

您不使用宏就无法做到这一点。

不要流汗小东西。这是小东西