永发信息网

#define ENABLE_VPP(map) do { if(map->set_vpp) map->set_vpp(map, 1); } while(0)

答案:1  悬赏:50  手机版
解决时间 2021-03-26 08:56
  • 提问者网友:且恨且铭记
  • 2021-03-25 08:53
#define ENABLE_VPP(map) do { if(map->set_vpp) map->set_vpp(map, 1); } while(0)
最佳答案
  • 五星知识达人网友:何以畏孤独
  • 2021-03-25 09:03
这个你就不懂了吧,这个是意思是将if(map ->set_vpp) map ->set_vpp(map,1);这一段代码封装起来,这样不管你怎么使用都不会影响这一段代码的功能,你有没有发现其实这就是想让他执行一次而已....嘿嘿~~! 这种while的用法很奇妙的,还有更多的while奇妙之处 ,比如说用while来实现goto,呵呵~~! 都是很不错的用法,而且形成的代码美观相当好~~!追问抱歉周末颓废去了,就没有及时答复。
刚刚看了几篇关于do{}while(FALSE)的博文,这个主要还是用来封装一段在整体上实现goto功能的代码对吗?还有就是去掉多层的嵌套哈。不过我还是觉得奇怪为什么我提供的那句代码明明只有一个if还是要用到这个呢?来自:求助得到的回答
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯