我有一个非常具体的问题:在类外部声明枚举和在类内部声明枚举时,性能是否有差异?谢谢!
我有一个非常具体的问题:在类外部声明枚举和在类内部声明枚举时,性能是否有差异?谢谢!
性能上没有任何区别。封装类只是影响给enum
赋予的名称和对enum
可见的名称。
整个区别如下所示;请注意静态断言引用了两个不同的foo
,它们对于x
的含义有不同的理解。
const int x = 3;
enum foo { z = x };
struct bar {
static const int x = 4;
enum foo { z = x };
};
static_assert(z == 3, "from ::x");
static_assert(bar::z == 4, "from bar::x");