C++ 奇数宏和无操作变量使用?
这两段代码在这里意味着什么C++ 奇数宏和无操作变量使用?,c++,c,linux,function,macros,C++,C,Linux,Function,Macros,这两段代码在这里意味着什么 #define HTTPH(a, b, c, d, e, f, g) char b[] = "*" a ":"; 第一种是通过宏进行字符串连接。它类似于: #define STR3 STR1 STR2 这样,预处理器将连接STR1和STR2,并使用它代替STR3。 第二种语法: void function(char *p) { (void)p; } 表示指针变量p当前未使用。未使用的变量很少导致编译器警告,这种构造通常用于消除未使用的变量警告 带有
#define HTTPH(a, b, c, d, e, f, g) char b[] = "*" a ":";
第一种是通过宏进行字符串连接。它类似于:
#define STR3 STR1 STR2
这样,预处理器将连接STR1和STR2,并使用它代替STR3。第二种语法:
void function(char *p)
{
(void)p;
}
表示指针变量p
当前未使用。未使用的变量很少导致编译器警告,这种构造通常用于消除未使用的变量警告
带有
(void)p
指针p
用于语句中(实际上它什么都不做),但编译器确信变量在某个地方使用过,因此它不会生成警告。第一个是通过宏进行字符串连接。它类似于:
#define STR3 STR1 STR2
这样,预处理器将连接STR1和STR2,并使用它代替STR3。第二种语法:
void function(char *p)
{
(void)p;
}
表示指针变量p
当前未使用。未使用的变量很少导致编译器警告,这种构造通常用于消除未使用的变量警告
带有(void)p代码>指针p
用于语句中(实际上它什么都不做),但编译器确信变量在某个地方使用过,因此它不会生成警告。“*”a:“
是简单的字符串压缩。就像“a”“b”“c”
等同于“abc”
void函数没有任何作用,但它可能是其他东西的占位符。您需要显示更多的上下文才能得到正确的答案。该“*”a:“
是简单的字符串连接。就像“a”“b”“c”
等同于“abc”
void函数没有任何作用,但它可能是其他东西的占位符。您需要显示更多的上下文才能得到正确的答案。我已经看到了这一点,以避免编译器对未使用的变量发出警告。@PatrickB:完全正确!为了避免编译器对未使用的变量发出警告,我已经看到了这一点。@PatrickB:没错!请不要一次问两个问题,这些问题明显不同,并给他们一个恰当描述它们的标题。请不要一次问两个问题,这些问题明显不同,并给他们一个恰当描述它们的标题。