在生成的类中,我有一个匿名的枚举,其中包含许多成员,其中一些成员的名字很长,如下所示:
class ContainerClass {
public:
enum { Enum1, EnumWithLongName2 ...};
};
很好地表示这些枚举完全属于该类。但是有时我会列出大量此类枚举(例如在单元测试的结果列表中),当我必须用类名来限定每个枚举时,这些枚举会变得非常大。在这种情况下是否可以添加快捷方式,以便我可以省略类名?
我看着C++'s type alias,但这似乎无济于事。还有其他想法吗?
最佳答案
是的,只有一个:derived class继承枚举名称,无需进一步限定即可使用它们。
因此,创建一个从ContainerClass
继承的帮助程序类以定义列表。但是,不打算实例化helper类(您不想创建另一个ContainerClass
基础子对象),因此将列表定义为static
成员:
class enumList : public ContainerClass {
enumList() = delete;
public:
static decltype(Enum1) list[2] = { Enum1, EnumWithLongName2 };
};
关于c++ - C++类中嵌套类型的快捷方式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38694738/