dat*_*ili 3 c++ c-preprocessor
我知道这意味着什么
#define M(B) (1U << ((sizeof(x) * CHAR_BIT) - B)) // CHAR_BIT=bits/byte
Run Code Online (Sandbox Code Playgroud)
但我不明白这个:
#undef M
Run Code Online (Sandbox Code Playgroud)
在这之后会发生什么?M被清除或删除或?
Dea*_*ing 14
之后#undef,就好像这#define M...条线从未存在过一样.
int a = M(123); // error, M is undefined
#define M(B) (1U << ((sizeof(x) * CHAR_BIT) - B))
int b = M(123); // no error, M is defined
#undef M
int c = M(123); // error, M is undefined
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3999 次 |
| 最近记录: |