我使用的是一个C ++ 11库,它有一个带有嵌套在类中的枚举类的头:
class ClassWithARatherLongName
{
public:
enum class EnumWithARatherLongName
{
VALUE1,
VALUE2,
VALUE3
};
(other code)
};
然后我在我的代码中使用枚举器:
void foo()
{
... ClassWithARatherLongName::EnumWithARatherLongName::VALUE1 ...
}
这很有效,但很乏味。有没有办法缩写语法?
理想情况下,我希望能够写出类似的内容:
void foo()
{
(some directive that allows to use an abbreviated syntax)
... VALUE1 ...
}
答案 0 :(得分:2)
您可以使用typedef
或using
创建"快捷方式":
using E = ClassWithARatherLongName::EnumWithARatherLongName;
E::VALUE1
答案 1 :(得分:0)
只需添加一个typedef:
void foo()
{
typedef ClassWithARatherLongName::EnumWithARatherLongName e;
e::VALUE1
}
您可以使用命名空间来缩短名称。