【发布时间】:2011-08-25 02:15:31
【问题描述】:
int i = 10;
switch( i )
{
case 1:
// do sth1
break;
case 2:
// do sth2
break;
case 3:
// do sth3
break;
default:
// do sth default
break;
}
问题一> 当switch语句执行时,是直接跳转到右边的case语句还是从上往下搜索?
答案:直接跳转到正确的case语句。
问题2>我们应该在default语句之后使用break语句吗?
答案:视情况而定。如果默认语句是最后一个 case 语句,则不需要使用 break。
上述问题的答案是否正确?
【问题讨论】:
-
default语句应该总是是最后一种情况。 -
始终小心。我有一个案例,我首先在 duff 的设备类型构造中实现了它。
-
我想补充一点,虽然使用 fall through 是一种有效且有效的技术,但可能与您一起处理代码的其他人可能会将其视为“错误”,并希望将break 语句。忘记插入是一个相当常见的错误,所以这是可以理解的。为避免这种情况,留下评论说失败是故意的会有所帮助。
-
@Clairvoire:我通常会在有意失败时添加
//nobrake评论。
标签: c++ switch-statement