#define IS_THIS_CORRECT(X) if(X){}
我在我的项目中定义了这个预处理器语句。我试图了解如何使用此功能。
答案 0 :(得分:1)
#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
,以提高可读性。
答案 1 :(得分:0)
正如目前所写,除了你只想根据X
的值处理FALSE个案外,很少有有意义的使用它。
恕我直言,您可以将其重新编写为
#define IS_THIS_CORRECT(X) if(X)
然后,您可以像
一样使用它 int p = 5;
IS_THIS_CORRECT(X)
{
printf("yay !!!\n");
}
答案 2 :(得分:0)
我在猜测,但这对我有用的唯一方法是它是否应该被用作
IS_THIS_CORRECT(foo) else { do_something(); }
但仍然很奇怪。