如何在C ++类定义中重用类型名称

时间:2016-09-27 05:27:07

标签: c++ templates

例如,假设我们有以下类,

template<typename T1, typename T2, and several others>
class Awesome_class<something non-trivial from T1, T2, ...> 
         : public Base_class<also something non-trivial from T1, ...> {
     ...class content...
}

我们需要使用当前类的类型及其基类 班级的身体。经过一段时间的搜索和测试,我发现它似乎 它可以做的最好方法是在类中为它们设置别名 定义,类似

using Current_class = Awesome_class<Repetition of the complicated things>;
using The_base_class = Base_class<Repetitions of the complicated things>;

这比所有地方的拼写更清晰,但我仍然是 想知道在现代 C ++中是否有更简洁的方法来做到这一点。 具体地,

  • 是否有类似decltypeauto的神奇用法 扩展到类体中的当前类,包括方法体, 原型和类成员声明?

  • 是否有一个为Base_class<...>设置类型别名的好地方 这个别名既可以用于继承,也可以用于体内 类

有时,感觉重复这些类型甚至只是两次似乎是一个 真正的维护负担。任何建议都非常感谢。

0 个答案:

没有答案