![]() |
1
4
达夫的设备很难像前面提到的那样成为跨领域案例标签的“目的”,它只是对它的一种利用。 事实可能是它不起作用 特意设计的 目的,但仅仅是一个最简单的可行实现的人工制品。这种设计使得switch-case构造可以精确地执行合理的操作,但也不能明确地保护您免受不合理的操作。 |
![]() |
2
4
case标签只是标签,用于(编译器生成的)goto的目的地。
与普通标签具有相同的功能范围,案例标签具有
唯一合理的优势是 Duff's Device 然而,这在现代计算机上并不十分重要。 所以,这是历史性的。 一个“冻结历史”的案例。 干杯! |
![]() |
3
1
该代码仅出于历史原因编译。 请注意,它可能会导致 未定义的行为 :
如果
|
|
4
1
switch语句中的跨范围大小写标签 做 为某个目的服务,特别是在实时、嵌入式系统应用程序中。首先,它们允许 couroutines . 它们还减少或消除了在类似的低级应用程序中使用goto语句。是的,goto很难看,但是如果你以前写过设备驱动程序,而时间和同步问题是规范的,那么你会很欣赏跨范围的case标签对于goto语句的高度维护的有用性。两害相权取其轻。 |
|
5
-1
上面的代码是以下内容的同义词:
编译器不区分此代码和您根据开关盒功能发布的代码。它将其解释为说明的多个案例场景。 |
![]() |
ZenBa2 · getopt未更改值C 2 年前 |
![]() |
Waeez · 条件未满足php仍在运行 6 年前 |
![]() |
Catz · 正在尝试打印正确数量的“*”以代替数值 6 年前 |
|
privilegedMale · switch语句中的扫描仪问题 6 年前 |
![]() |
rasilvap · 具有多个参数的开关箱 6 年前 |
![]() |
RudziankoÅ · 不可能的类型切换情况:不能有动态类型 6 年前 |
![]() |
Leo Thomas · 循环case语句而不退出shell脚本 6 年前 |