JAVA/C/C++ do{…} while(0) 超狂應用

JAVA/C/C++ do{…} while(0) 超狂應用

JAVA/C/C++  do{…} while(0) 超狂應用


資料來源: https://mp.weixin.qq.com/s?__biz=MzA3MTU1MzMzNQ==&mid=2247485554&idx=1&sn=6fd7ff42638f1a854f717048545cd061&chksm=9f2a902aa85d193cba1681f32f048575f3fbaa02f802416c56cb323808dfb6e73171fd822b47&scene=126&sessionid=1594175773&key=e6152aaf211ea824456552cf68def00f7bc748b8b4f0cabe6bd97efb8a4f69b5870805103d18445b866ac37c1d5c00be06d2e6e6d90c75ff49c6a082c203de193149b230d929b3b428a25cc259194e73&ascene=1&uin=MjIwODk2NDgxNw%3D%3D&devicetype=Windows+10+x64&version=62090529&lang=zh_TW&exportkey=ApNZgGJwOiffvl4kwwrJuiU%3D&pass_ticket=uj2cQ5NMpOJJNgC8baczIHOz6D8VwG0Xs%2FKK%2BEMSnsYB2H%2BL03SnF5h2qxl1jO9D



01.有時候只是為了代碼分塊,比僅僅使用{}更直觀些。


02.為了宏展開的時候不會出錯。如果直接放在花括號裡會出錯的

#define DOSOMETHING() \
        do{ \
          action1();\
          action2();\
        }while(0)\


03.當你執行一段代碼到一半,想跳過剩下的一半的時候

do
{
  执行.
  再执行…
  if (如果有什么条件满足)
  {
    我想跳到另外一段代码了,剩下的不执行了,可是不建议用goto语句,怎么办呢?
     break;/*搞定*/
  }
  我有可能被执行.
}while(false)

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *