这样的代码一看就不是一个循环,do..while表面上在这里一点意义都没有,那么为什么要这么用呢? 实际上,do{...}while(0)的作用远大于美化你的代码。查了些资料,总结起来这样写主要有以下几点好处: 1、辅助定义复杂的宏,避免引用的时候出错: 举例来说,假设你需要 ...
在开源软件里面经常可以看到这样的写法。 define X a do f a f a while . 主要作用是放在宏定义里面,避免宏带来的语法问题。 比如 define DOSOMETHING cmd cmd 而调用的时候 if a gt DOSOMETHING 会有问题,需要用到上面提到的而这时候,为什么不用 if ... 呢 有两方面原因:首先,会多出不必要的分号,比如: if my code ...
2016-11-19 12:36 0 3776 推荐指数:
这样的代码一看就不是一个循环,do..while表面上在这里一点意义都没有,那么为什么要这么用呢? 实际上,do{...}while(0)的作用远大于美化你的代码。查了些资料,总结起来这样写主要有以下几点好处: 1、辅助定义复杂的宏,避免引用的时候出错: 举例来说,假设你需要 ...
原帖地址:http://bbs.csdn.net/topics/390361821?page=1#post-393624278 【gq414047080】: 这样的写法有什么好处啊? 将楼主的问题扩展一下,do{} while(0);的用处都有什么?不仅限于楼主所贴代码的使用 ...
在C++中,有三种类型的循环语句:for, while, 和do...while, 但是在一般应用中作循环时, 我们可能用for和while要多一些,do...while相对不受重视。 但是我发现了do...while的一些十分聪明的用法,不是用来做循环,而是用作其他来提高代码的健壮性 ...
a=100; do { int x = a / 100;//百位 int y = a / ...
㈠while循环 循环条件 是个bool值,为true时执行循环,为false退出循环。break一般不单独的使用,而是跟着if判断一起使用,表示,当满足某些条件的时候,就退出循环了。 循环体 一般总会有那么一行代码和循环条件建立关系,能够改变循环条件,使之终有一天不再成立 ...
在linux内核代码中,经常看到do...while(0)的宏,do...while(0)有很多作用,下面举出几个: 1、避免goto语句: 通常,如果一个函数开始要分配一些资源,然后如果在中途遇到错误则要退出函数,当然,退出前要释放资源,我们的代码 ...
一、简介 在for和while的循环是在头部写测试循环条件,而do....while的循环是在循环的尾部写测试条件 do...while的循环和while的类似,但是do...while的最少执行一次循环体。 二、语法 do{ 循环体; } while{ 条件; } 三、执行 ...
“直到”型 (do-while) 语句的特点: 先执行循环,然后判断条件是否成立. ...