C++类中嵌套类型的快捷方式
Shortcut to nested type in C++ class
在生成的类中,我有一个匿名枚举,其中有许多成员,有些成员的名称很长,如下所示:
class ContainerClass {
public:
enum { Enum1, EnumWithLongName2 ...};
};
可以表示这些枚举仅属于该类。然而,有时我会有一个这些枚举的大列表(例如,在单元测试的结果列表中),当我必须用类名限定每个枚举时,它们会变得非常大。在这种情况下,有没有办法添加快捷方式,这样我就可以省略类名?
我查看了C++的类型别名,但这在这里似乎没有帮助。其他想法?
是的,有一个:派生类继承枚举名称,并且可以在没有进一步限定的情况下使用它们。
因此,创建一个继承自ContainerClass
的助手类来定义列表。但是,helper类不是要实例化的(您不想装箱另一个ContainerClass
基子对象),所以将列表定义为static
成员:
class enumList : public ContainerClass {
enumList() = delete;
public:
static decltype(Enum1) list[2] = { Enum1, EnumWithLongName2 };
};
相关文章:
- CRTP:为什么获得嵌套类型和派生类的嵌套方法有区别
- 为什么在VS2015中模板相关的嵌套类型名称中不需要typename关键字?
- 为什么嵌套类型的基类不需要"typename"?
- 如何在C++中的另一个模板函数中使用属于模板化类的嵌套类型?
- 保持嵌套类型的挥发性
- 具有嵌套类型的类的概念
- 将嵌套类型的类分开为标题和源
- 如何解决C++嵌套类型的循环依赖关系
- 在 C++11 中,从私有嵌套类型继承是否合法?
- C++ 递归嵌套类型和名称注入
- 如何定义一个模板类函数,该函数在类外的签名中具有嵌套类型的模板参数
- 访问模板参数T的嵌套类型,即使T是指针
- 为什么reverse_iterator双重定义其嵌套类型
- 嵌套类型:结构与类
- 如何对嵌套类型执行部分模板专用化
- 如何解析可选的嵌套类型,如 std::allocator_traits
- 模板和嵌套类型查找
- 在 c++ 中显示嵌套类型定义的最基本类型声明
- 无法推断出嵌套类型的模板函数
- C++类中嵌套类型的快捷方式