读书人

只执行一次的for循环有什么特殊作用么

发布时间: 2012-04-06 12:22:24 作者: rapoo

只执行一次的for循环有什么特殊作用么?
RT,看到代码里有段

C/C++ code
   for(k=0;k<1;k++)    //自此之后k再也没有出现{   ...}

不明白什么用

[解决办法]
我想是因为 有好多出口 比如 好多 if() free(sth);return; 这时候都放进for 中,当条件成立就break 出去 并统一释放资源并返回
[解决办法]
如果没记错的话,记得赵老师说过一种方法
C/C++ code
do{     //Do something.}while(0);
[解决办法]
改变程序结构流,比如
do{
//Do something.
}while(0);

也是,具体好处

比如socket 需要初始化环境 WSAStartup ,而退出时又要清理 WSACleanup(void);
假如在程序中间有错误的话,每次退出程序前都要调用WSACleanup(void);而用
do{
//Do something.
}while(0);则不同了
看如下代码
do{
WSAStartup....

if ( 错误发生... )
break;

//Do something.
}while(0);则不同了

//清理工作放在最后
WSACleanup。。。


程序流是不是更简洁了?

读书人网 >C++

热点推荐