do{}while(false)的使用
1,在C语言中,常常使用宏定义写简单函数,这个时候使用
#define DOSOMETHING_ do{ dosomething.. }while(0);
可以保证不管在什么上下文中,宏都可以正确展开,据说这个用法在linux的内核代码中非常常见
2,配合break当作goto语句使
使用goto这种丧尽天良的做法是被批判的,那么就可以
do{
if(xx) break; //相当于直接goto others
..... //more code
}while(false);
....others;
这种方法比起K&R的C程序设计语言中介绍的使用函数与return来代替goto 减少了函数调用的开销。简直666
浙公网安备 33010602011771号