在C/C++中,switch语句有一个有趣的特性,即当条件满足时,所有后续的块都将被执行。
例如:
例如:
int a = 2;
int b = a;
switch(b)
{
case 1:cout<<1;
case 2:cout<<2;
case 3:cout<<3;
case 4:cout<<4;
};
上述代码将输出234,除非我在第二个case中加入break语句。
在我3年的C/C++编程经验中,我从未遇到过必须在每个case中放置break语句的问题。但是根据这个特性已经存在了很长时间的事实来判断,它可能有一些用途。
问题:有哪些聪明的方法可以利用C/C++中switch语句的上述功能?
switch
语句需要使用break
:Why was the switch statement designed to need a break? 正如该文章所述,你可以利用这一“特性”进行case穿透。 - idanshmuC++
能力的聪明用途并不是一个标准的SO
问题。 - idanshmu