Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/160.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 奇数宏和无操作变量使用?_C++_C_Linux_Function_Macros - Fatal编程技术网

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:没错!请不要一次问两个问题,这些问题明显不同,并给他们一个恰当描述它们的标题。请不要一次问两个问题,这些问题明显不同,并给他们一个恰当描述它们的标题。