【发布时间】:2016-03-07 20:47:22
【问题描述】:
我在一本编程书籍中看到过以下宏定义。
#define TRUE '/'/'/'
#define FALSE '-'-'-'
那里没有解释。
请向我解释这些将如何作为TRUE 和FALSE 工作。
【问题讨论】:
-
我认为将 TRUE 定义为 1 并将 FALSE 定义为 0 只是一种有趣的方式
-
请注意,如果这些表达式周围没有括号,这是一个糟糕的主意。我的意思是有他们是一个糟糕的主意,但没有你只是要求调试一个漫长的夜晚。
-
我可以知道您参考的编码书吗?
-
我希望这本书将这个作为糟糕或故意模糊代码的示例。
-
@Daniel:另一个想法是将 rand()%2 定义为 rand()%2,因此有时 == TRUE,有时 == FALSE。
标签: c++ c macros boolean obfuscation