gpt4 book ai didi

c++ - 头文件中的 'keyword' 短语有什么作用?

转载 作者:行者123 更新时间:2023-12-01 14:05:25 26 4
gpt4 key购买 nike

不要使用 C++,所以这可能是一个愚蠢的问题。
根据文档,我正在检查一个头文件 .h,其中应该定义了参数 ID。我遇到了参数所在的行,它们如下:

#define  SPCDLL_ERROR_KEYWORDS \
{ \
keyword (NONE), \
keyword (OPEN_FILE), \
keyword (FILE_NVALID), \
keyword (MEM_ALLOC), \
};

#define PARAMETERS_KEYWORDS \
{ \
keyword (LIMIT_LOW), \
keyword (LIMIT_HIGH), \
keyword (LEVEL), \
keyword (HOLDOFF), \
};

#ifdef keyword
#undef keyword /* prevents redefinition warning */
#endif

#define keyword(key) key

但是我已经搜索过,但无法确切地找出关键字(键)行在做什么?它是否根据列表中的顺序分配每个参数和 ID?这会使 LIMIT_LOW, ID=1 吗?为什么没有明确定义。此外,由于有两个关键字定义列表,它是如何工作的?

我来自 Python 领域,在那里我将它们定义为两个字典,其中包含 Error_names 和 Parameter_vals 的 ID 和值。

如果有人可以解释这一点,我将不胜感激。

最佳答案

#define意味着你正在制作一个宏。 keyword(key)意味着您正在该宏中创建一个函数,该函数接受一个参数,key .最后 key意味着你正在使用那个关键参数,然后你正在用它做一些事情。它可以是任何东西,你可以 std::cout它,或者其他任何东西。

当你调用那个宏时,你传入了宏 keyword你把任何东西都放在 key 上。

您使用 X 宏 在您的文件顶部,您有 keyword这些函数中的宏。

关于c++ - 头文件中的 'keyword' 短语有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60949154/

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