C++ 在这种情况下,我们在C中的枚举中只定义一个成员?

C++ 在这种情况下,我们在C中的枚举中只定义一个成员?,c++,c,enums,C++,C,Enums,我看到一些代码如下: enum { FIRST_DAY = 0 }; 我知道语法只允许枚举中有一个成员,但在哪种情况下我们这样定义它?原因是什么 我只能猜测,但在C语言中,这是一种定义命名整数常量的习惯用法,而不必使用#define。最好这样做,而不是让#define FIRST#u DAY 0。 如果需要,现在还可以扩展它 也许可以提高可读性?未来扩展支持?答案是非常不同的C和C++,你想要哪一个?我是新手,在C和C++ +Peer-SnEnter中,一个成员枚举经常被用在C++中,用

我看到一些代码如下:

enum
{
   FIRST_DAY = 0
};

我知道语法只允许枚举中有一个成员,但在哪种情况下我们这样定义它?原因是什么

我只能猜测,但在C语言中,这是一种定义命名整数常量的习惯用法,而不必使用#define。

最好这样做,而不是让#define FIRST#u DAY 0。
如果需要,现在还可以扩展它

也许可以提高可读性?未来扩展支持?答案是非常不同的C和C++,你想要哪一个?我是新手,在C和C++ +Peer-SnEnter中,一个成员枚举经常被用在C++中,用于绕过<代码>静态const < /C>成员限制,特别是在定义元函数时。在C语言中并非如此。我想这很不一样,但仍然是双曲线。一些编译器在调试模式下,将为
枚举
类型提供标识符名称,但不会为
\define
提供标识符名称。主要是因为
#define
在编译器知道标识符名称之前被插入(替换)。为什么这样做更好?为什么不定义常数呢?原因有很多。在我看来,最重要的一点是使用预处理器符号会使调试变得更加困难。