当前位置: 首页 > 面试题库 >

枚举中的这些#define的目的是什么?

长孙哲
2023-03-14
问题内容

我在linux头文件/usr/include/dirent.h中找到了以下代码:

enum   
  {    
    DT_UNKNOWN = 0,
# define DT_UNKNOWN DT_UNKNOWN
    DT_FIFO = 1,
# define DT_FIFO    DT_FIFO   
    DT_CHR = 2,
# define DT_CHR     DT_CHR
    DT_DIR = 4,
# define DT_DIR     DT_DIR
    DT_BLK = 6,
# define DT_BLK     DT_BLK
    DT_REG = 8,
# define DT_REG     DT_REG
    DT_LNK = 10,
# define DT_LNK     DT_LNK
    DT_SOCK = 12,
# define DT_SOCK    DT_SOCK   
    DT_WHT = 14
# define DT_WHT     DT_WHT
  };

这个构造是做什么用的?-为什么用相同的字符串定义东西,然后将其编译为int值?


问题答案:

我的猜测是,然后其他一些代码可以检查是否已使用#ifdef定义了这些枚举值中的一个(或多个)。



 类似资料:
  • 问题内容: 所以,我看着这个“枚举”类型,并且它种好像一个华而不实的 数组 / / 给我。到底有什么用? 问题答案: 枚举是一种固定数量的常量,至少可以用于两件事 不变 这比创建一堆整数常量要好得多。 创建一个单例 您可以使用枚举来做一些有趣的事情,请看这里 也请看官方文档

  • 在typescript中枚举的用途是什么。如果它的目的仅仅是使代码可编辑,我们就不能使用常量来达到同样的目的吗 如果没有打字检查的好处,就不能写成。

  • 问题内容: 这不是卡住我的问题,而是我正在寻找一种编写代码的整洁方法。 本质上,我正在编写一个事件驱动的应用程序。用户触发一个事件,该事件被发送到适当的对象,然后这些对象处理事件。现在,我正在编写偶数处理程序方法,并且希望使用switch语句确定如何处理事件。现在,在我研究通用结构时,事件类非常简单: 然后,在另一堂课中,我会看到类似以下内容的内容: 我会 喜欢 做的就是这样的事情(尽管我当然会坚

  • 问题内容: 下面是定义枚举类型的代码。 在内部进行编译, 我的理解正确吗? 问题答案: 从功能上讲,是的。从字面上看,不是(您不能为一件事明确地子类化)。有一个。而且您的代码无效(您无法调用),并且需要返回类型。

  • 我有一个很基本的怀疑!{{}}和->意味着什么,对于下面的枚举又意味着什么?

  • 在Java中,有没有办法从现有枚举中定义一个新枚举?我想要以下功能。 1、2、3和所有这些都必须相同,即, 一个真实的例子是天、星期、周末、讲座、派对等。