【发布时间】:2019-08-15 10:45:40
【问题描述】:
我正在阅读 Bjarne 的 Programming and Principles using C++。
我遇到了以下关于 switch 的详细信息:
您可以为一个案例使用多个案例标签。
您不能对两个案例标签使用相同的值。
我想我清楚地理解了 2. 一。应该是这样的:
switch (a) {
case 'c':{//some code}
case 'c':{//some (different) code}
}
不合法。
但是,我不确定第一个是否意味着,如果案例 1 和案例 2 等不同,那么我可以有任意数量的案例(当然它们是常量表达式)或者它意味着我可以处理任意数量的案例,但其中一些案例做同样的事情。
我发现了一个类似的问题: multiple label value in C switch case
我的解释正确吗?如果没有,我错过了什么或弄错了什么?
【问题讨论】:
-
“你不能对两个大小写标签使用相同的值。”实际上有什么不清楚的地方?
-
我相信有问题的书会给出第一个含义的基本示例。
-
两个案例标签不能相同。见example。
-
是的,您链接的问题包含“单个案例的多个案例标签”的示例。措辞(案例/案例标签)有点令人困惑,但它本质上是在告诉您“您不必在每个
case之后放置已执行的代码,如果它们应该做同样的事情,您可以将它们组合在一起”跨度> -
这就像把多人放在一个房间里,而不是把一个人放在多个房间里。
标签: c++ switch-statement label case