C++ do while(0)
- C++的大型项目中经常会见到使用
do{
XXX
}while(0)
- 这样的代码块存在 但是这句话只会被执行一次 那么有什么用嘛?
1. 宏定义容错处理
- 在宏定义中 被定义的代码块被dowhile包裹后
-
- 存在多个语句 整合成一个语句
-
- 定义空宏
-
- 防止展开错误 “;”导致的范围错误
2.配合break使用
do{
if (XXX){
///
}else break;
if (XXX){
///
}else break;
}while(0)
free(XX)
///
-用于对不同情况(一般是发生错误)的处理, 有错误直接跳出代码块 执行内存释放和错误处理