我有一个相当长的 switch-case 语句。有些案例真的很短而且微不足道。一些更长,并且需要一些从未在其他任何地方使用过的变量,如下所示:
switch (action) {
case kSimpleAction:
// Do something simple
break;
case kComplexAction: {
int specialVariable = 5;
// Do something complex with specialVariable
} break;
}
另一种方法是在进入 switch
之前声明该变量,如下所示:
int specialVariable = 5;
switch (action) {
case kSimpleAction:
// Do something simple
break;
case kComplexAction:
// Do something complex with specialVariable
break;
}
这会变得相当困惑,因为不清楚变量属于哪个 case
并且它使用了一些不必要的内存。
但是,我从未在其他任何地方看到过这种用法。
您认为针对单个 case
在 block 中局部声明变量是个好主意吗?
最佳答案
如果在 switch block 之后没有使用 specialVariable,则在“case” block 中声明它。
一般来说,变量应该在它使用的尽可能小的范围内声明。
关于c - 对于 switch 语句的情况,在局部 block 中定义变量是个好主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2595111/