求助:一个超简单的宏定义。
#define UNUSED(x) ((x)=(x)) 这个语句为什么要这样写呢?一般什么情况下才这样写?先谢谢了。 宏定义
[解决办法]
避免一些编译器的警告。
对于未使用的变量,很多编译器都会警告“未使用的变量x”。
[解决办法]
避免一些编译器的警告。
对于未使用的变量,很多编译器都会警告“未使用的变量x”。
[解决办法]
这就是赋值了
[解决办法]
避免一些编译器的警告。
对于未使用的变量,很多编译器都会警告“未使用的变量x”。
但是它没有赋值,这样它自己赋值给自己,这样不会有问题吗?
这就是赋值了
+1
虽然赋的值无法预料,但就是赋值。只要你不直接用这些变量就没事了,主要就是消除编译器警告。
[解决办法]
可以跑下 UNUSED(x)+1看结果,反正不这么用
#define UNUSED(x) ((x)=(x))
#define UNUSED(x) (x)=(x)
运行了一下,这两种用法没什么差别。
#define UNUSED1(x) ((x)=(x))
#define UNUSED2(x) (x)=(x)
int iBuf = 0;
UNUSED1(iBuf)+1;
cout<<iBuf<<endl;
UNUSED2(iBuf)+1;
cout<<iBuf<<endl;