do{
if(...)
break;
if(...)
break;
}while(false)
这样的代码常用于客户端有很多的版本,由于版本升级而添加的参数,捕获这些参数,成功与否。为了适配所有版本,提高服务器性
将后来增加的参数放在这样的结构里,当第一个参数未能捕获时,就退出。
其次是在宏声明中不使用分号结束的问题,使用do{}while(false) 这样的声明就在编译期间强制宏使用者添加结束符。
do{
if(...)
break;
if(...)
break;
}while(false)
这样的代码常用于客户端有很多的版本,由于版本升级而添加的参数,捕获这些参数,成功与否。为了适配所有版本,提高服务器性
将后来增加的参数放在这样的结构里,当第一个参数未能捕获时,就退出。
其次是在宏声明中不使用分号结束的问题,使用do{}while(false) 这样的声明就在编译期间强制宏使用者添加结束符。
转载于:https://my.oschina.net/qingwa/blog/49709