我想知道在C中制作这样的定义是不是一个坏主意:
#define and &&
#define or ||
#define not !
答案 0 :(得分:6)
自己这样做肯定是个坏主意。
如果您确实需要and
等名称而不是像&&
这样的符号,则可以包含<iso646.h>
C标准库标题,该标题定义了几个命名运算符,包括您提到的三个。
在C ++中,替代表示(如and
和or
)是语言中内置的运算符,因此您不需要包含任何标题来使用它们,并且不可能将它们定义为宏(宏名称必须是标识符,替代表示是运算符,而不是标识符,即使在预处理期间)。