gpt4 book ai didi

c++ - 类中的枚举是静态的吗?

转载 作者:行者123 更新时间:2023-12-01 14:47:58 24 4
gpt4 key购买 nike

在下面, 的值枚举 类内部可以通过类名访问。(我什至没有实例化类!)

class Shifting
{
public:
enum Value: char
{
UP, RIGHT, DOWN, LEFT
};

private:
Value value_;
};


std::cout << Shifting::RIGHT << std::endl; // 1

这是否意味着类中的枚举是静态的?

如果不是,如何静态声明一个枚举?

最佳答案


enum Value: char
{
UP, RIGHT, DOWN, LEFT
};

这是一个类型的声明。它不是封闭类的数据成员。该类只有这个私有(private)数据成员。
Value value_;

的枚举数据。

枚举声明声明了命名的枚举数。但它们又不是封闭类的数据成员。

如果您要在类中声明嵌套结构,也是如此。例如
struct A
{
struct B
{
int x = 10;
};

B b;
};

这里只有一个类 A 的数据成员是 B b。结构声明中的数据成员只提供了结构 B 的声明。

关于c++ - 类中的枚举是静态的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61540414/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com