gpt4 book ai didi

c++ - 宏定义中的空 # 是什么意思?

转载 作者:IT老高 更新时间:2023-10-28 23:14:32 27 4
gpt4 key购买 nike

我有以下宏:

#define F(Args, ...) \
// macro definition
#
F(()) // looks like usage?
#undef F

仅包含 # 的行是什么意思? F(())是宏的用法吗?

最佳答案

从技术上讲,这不是宏的一部分(之前没有续行)。这是 #define 指令之后的指令。

# 在单独的行中称为 null directive它什么也没做(就像评论一样好)。

它实际上不再有用(除了作为视觉标记),但在史前 C 中,只有在 C 源文件以指令开头并且放置在 C 文件开头的空指令很好时才会调用预处理器确保文件被预处理(即,以后的指令有效)而不从具体指令开始的方法。

关于c++ - 宏定义中的空 # 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54491941/

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