我遇到了一些obj-c代码,我想知道是否有办法简化它:
#if ( A && !(B || C)) || ( B || C )
Run Code Online (Sandbox Code Playgroud)
这是一样的吗?
#if ( A || B || C )
Run Code Online (Sandbox Code Playgroud)
如果没有,是否有另一种方式来制定它更容易阅读?
[编辑]我在问这个问题之前尝试了真值表,但我认为我不得不遗漏一些东西因为我怀疑Foundation.framework/Foundation.h会采用这种更复杂的形式.它有充分的理由吗?
这是原始代码(来自Foundation.h):
#if (TARGET_OS_MAC && !(TARGET_OS_EMBEDDED || TARGET_OS_IPHONE)) || (TARGET_OS_EMBEDDED || TARGET_OS_IPHONE)
Run Code Online (Sandbox Code Playgroud) logic ×1