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

posted on 2015-08-18 00:19  远近闻名的学渣  阅读(274)  评论(0)    收藏  举报

导航