[英]How to use the following preprocessor statement
#define IS_THIS_CORRECT(X) if(X){}
我在项目中定义了此预处理程序语句。 我试图了解如何使用此功能。
#define IS_THIS_CORRECT(X) if(X){}
它可以用来检查X
(任何值)是否不为零或不是空字符串等。您可以执行以下操作
IS_THIS_CORRECT("Hello")
else puts("The string is empty");
您最好用另一对大括号将X
包围起来,以提高安全性:
#define IS_THIS_CORRECT(X) if((X)){}
我建议您将此预处理器语句重命名为IT_IS_CORRECT
甚至IS_CORRECT
以提高可读性。
就目前而言,除了您只想根据X
的值处理FALSE情况外,几乎没有任何有意义的用途。
恕我直言,您可以将其重写为
#define IS_THIS_CORRECT(X) if(X)
然后,您可以像
int p = 5;
IS_THIS_CORRECT(X)
{
printf("yay !!!\n");
}
我正在猜测,但是对我来说这唯一有意义的唯一方法是是否应该将其用作
IS_THIS_CORRECT(foo) else { do_something(); }
不过还是很奇怪。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.