1、宏定义
#define OPT ++a; ++b;
int a = 1, b = 1;
if (0) OPT
cout << a << " " << b; //输出 1 2
//注意a后面的分号
//为了解决该问题,除了if语句添加花括号,还可以用do-while语句
#define OPT do{++a; ++b;} while(0);
2、消除繁多的return语句
int foo() {
if(case 1) return 1;
else if (case 2) return 2;
else if (case 3) return 3;
else if (case 4) return 4;
else return 5;
}
//do-while:
int foo() {
int flag;
do{
if (case 1) { flag = 1; break; }
else if (case 2) { flag = 2; break; }
else if (case 3) { flag = 3; break; }
else if (case 4) { flag = 4; break; }
else { flag = 5; break; }
} while(0);
return flag;
}
3、同2还可以解决goto问题