是否可以定义宏
write_foo(A);
and
read_foo();
Run Code Online (Sandbox Code Playgroud)
以便:
WRITE_FOO(hello);
code_block_1;
READ_FOO();
code_block_2;
READ_FOO();
WRITE_FOO(world);
code_block_3;
READ_FOO();
code_block_4;
READ_FOO();
Run Code Online (Sandbox Code Playgroud)
扩展为:
code_block_1;
hello;
code_block_2;
hello;
code_boock_3;
world;
code_block_4;
world;
Run Code Online (Sandbox Code Playgroud)
?
谢谢!
宏不能重新定义其他宏,但您可以手动执行此操作。
#define FOO hello
FOO // expands to hello
#undef FOO
#define FOO world
FOO // expands to world
#undef FOO
#define FOO blah
FOO // expands to blah
Run Code Online (Sandbox Code Playgroud)
不幸的是,#define+#undef组合不能封装在我所知道的任何其他结构中。
| 归档时间: |
|
| 查看次数: |
2766 次 |
| 最近记录: |