【发布时间】:2018-08-13 04:29:04
【问题描述】:
那么为什么 switch case 使用冒号“:”?不能这样写吗-
switch(foo) {
case 1 {
do_stuff();
}
case 2 {
do_other_stuff();
}
case default {
do_default_stuff();
}
}
那么,为什么 ":" 与 switch 和 case 一起使用?
更一般地说,符号“:”在 C 和 C++ 中是什么意思?
我发现的唯一信息是它与goto有关,我认为在c和cpp中不再使用它了。
【问题讨论】:
-
它标志着一个标签的结束——一个 case 标签(或
default)在 switch 的情况下。否则,goto语句的目标。在switch中使用它并没有什么特别之处——正如您所发现的,它标志着标签的结束。所以case 1:是一个case标签;:是标签的结尾。 (还有其他使用单冒号的上下文;在 C++ 中,有许多使用双冒号::的上下文。)
标签: c++ c switch-statement