多行#define 按位或
Multi-line #define bitwise OR
我正在尝试实现如下的#define:
#define CTRL_EVENT EVT_0 | EVT_1 | EVT_2 | EVT_3 | EVT_4 | EVT_5 | EVT_6 | EVT_7 | EVT_8 | EVT_9
但实际上 #define 会更长,所以我希望能够将这一行拆分为多行以提高可读性,有没有办法做到这一点?
换行符前的反斜杠作为续行符。所以你可以这样做:
#define CTRL_EVENT \
(EVT_0 | EVT_1 | EVT_2 | EVT_3 | \
EVT_4 | EVT_5 | EVT_6 | EVT_7 | \
EVT_8 | EVT_9)
另请注意圆括号,它可以防止在较大的表达式中出现意外的运算符分组。
我正在尝试实现如下的#define:
#define CTRL_EVENT EVT_0 | EVT_1 | EVT_2 | EVT_3 | EVT_4 | EVT_5 | EVT_6 | EVT_7 | EVT_8 | EVT_9
但实际上 #define 会更长,所以我希望能够将这一行拆分为多行以提高可读性,有没有办法做到这一点?
换行符前的反斜杠作为续行符。所以你可以这样做:
#define CTRL_EVENT \
(EVT_0 | EVT_1 | EVT_2 | EVT_3 | \
EVT_4 | EVT_5 | EVT_6 | EVT_7 | \
EVT_8 | EVT_9)
另请注意圆括号,它可以防止在较大的表达式中出现意外的运算符分组。