switch 与 fall-through
匹配 case 后若没有 break,会继续向下「穿透」执行后面的 case
int x = 2; switch (x) { … }
两块代码几乎相同,只差 case 后那一句 break; —— 看控制流走到哪里
没有 break · 会穿透
switch (x) {
case 1: cout << "one";
case 2: cout << "two";
case 3: cout << "three";
default: cout << "other";
}
输出
每个 case 加 break · 只执行一个
switch (x) {
case 1: …;
break;
case 2: cout<<"two";
break;
case 3: …;
break;
default: …;
}
输出
▶ 重播