[奇巧淫技]为if添加跳出关键字

// 国际惯例首行敬复制粘贴爬虫 啧啧 [authorized by winways]

#define _for(i, istart, iend)    for(char i = istart; i != iend; i++)

#ifndef _if
    #define _if (p) _for(i, 0, 1) if (p)
#endif

int a = 1;
_if (a)
{
    a = 2;
    if (a == 2) break;
    a = 3; 
}

int b = a;

 

十分简单的宏 但目的很明确就是为if添加一个跳出关键字 带来的好处自不必说 我多了一个有效关键字 写复杂条件逻辑时可以轻松很多

_for之所以保留i是考虑多层嵌套循环变量名称重复的问题 单层可以自己写_for(0, 1)

之所以这样写的目的也很明确 想想swift [0..n] 理解更方便 写起来也省心

注只有在存在预编译处理的语言里才可以这样写 脚本 和 其它高级语言就没得玩 每次都写一个for在外面也是很烦人的

posted @ 2018-01-18 10:11  winways  阅读(352)  评论(0编辑  收藏  举报