我想调用循环中的多行宏来打破/继续它.
如果我在多行宏定义中使用"do {...} while(0)",则break/continue仅对"do {...} while(0)"有效,而不是调用此宏的循环.所以我考虑在多宏定义中使用"if(1){...}".
#define EXIT_CIRCULATION() \
if(1){ \
break; \
}
void func(){
while(1){
...
EXIT_CIRCULATION();
...
}
}
Run Code Online (Sandbox Code Playgroud)
但我怀疑在宏定义中使用"if(1){...}"是一种好方法,因为我在互联网上找不到任何例子.
谢谢!
Bas*_*tch 10
如果您编写类似的东西
if (somecondition)
EXIT_CIRCULATION();
else
break;
Run Code Online (Sandbox Code Playgroud)
那么你的宏的扩展将不会像你直觉所期望的那样.这else将适用于你if (1),永远不会发生.
| 归档时间: |
|
| 查看次数: |
1491 次 |
| 最近记录: |