空 # 在宏定义中是什么意思
What does an empty # mean in a macro definition?
>我有以下宏:
#define F(Args, ...)
// macro definition
#
F(()) // looks like usage?
#undef F
仅包含#
的行是什么意思?F(())
是宏的用法吗?
从技术上讲,这不是宏的一部分(之前没有延续行)。这是在#define
指令之后的指令。
#
在它自己的行上被称为 null 指令,它什么都不做(和注释一样好)。
它不再实际有用(除了作为视觉标记),但在史前 C 中,只有在 C 源文件以指令开头时才调用预处理器,并且放置在 C 文件开头的 null 指令是确保文件被预处理的好方法(即,后来的指令有效)而不从具体指令开始。
相关文章:
- 这个语法std::class<>{}(arg1, arg2) 在C++中是什么意思?
- 标准 N3337 5.2.10 第 7 条中的C++"类型"是什么意思?
- "类模板示例<int>;"语句对 C++11 是什么意思?
- 线应该是什么意思
- "CID"在AT+HTTPPARA= "CID" ,1中是什么意思
- 表达式"b=(b-x)&x"是什么意思?
- 这个表达是什么意思?
- 此代码验证公式是什么意思?
- 跟踪日志中的T.11803()是什么意思?
- 这个额外的关键字在这个 c++ 类声明中是什么意思?
- * 和 ** 在 C++ 函数声明中是什么意思?
- _T("xyz")是什么意思?
- #define Dbg(fmt,..) (0) 是什么意思? 警告:表达式无效
- 这行代码到底是什么意思?
- 在命名空间名称之前加上 :: 是什么意思?
- 从字符数组的元素中减去'a'是什么意思
- "friend"关键字在C++中是什么意思?
- 减法中的"0"是什么意思?
- 字符数组前面的加号是什么意思?
- 这里的字符串函数是什么意思