2012-01-31 40 views
3

在一個布爾函數中的switch語句中,我有這個。我是否加入休息或是否暗示我在這方面非常糟糕。你是否需要在返回false後中斷

case Stop: 
default: 
    return false; 
//break;?????? 
+2

由於'default'通常是交換機中的最後一種情況,所以'break'變成雙重冗餘。由於返回而無法訪問,無論如何,作爲「switch」中最後一件事的「break」只是跳到了同樣的地方,無論如何你會「掉出去」,在'之開關。但是不管它是否做任何事情,一些風格指南都希望每個case都有一個'break'或者至少有一個評論說'fall through',這是因爲人們很容易忘記'break'時這是必需的。 – 2012-01-31 09:48:02

+1

@SteveJessop,當然'default'不需要在switch語句中最後一個。而且,由於許多人無論出於何種原因只是在'switch'的末尾添加新的'case'語句,這似乎是一個很好的預防措施,不會讓最終的案例/默認最終落空。 – 2012-01-31 11:31:41

回答

8

不,如果您從default返回,則不需要case break語句。

只有在您想要操作的所有情況以及停止開關的工作之後,您必須添加break語句,否則默認操作將從函數返回。

+0

我會將此改進爲「如果您從任何情況下返回」。 – 2012-01-31 08:54:25

+0

是的,當然。 – 2012-01-31 08:55:32

4

它不是「隱含」,但由於代碼將永遠不會到達那裏,所以您不必編寫break;

3

這只是多餘的,return就足夠了。

5

因爲return將是該函數中執行的最後一個語句,所以不需要中斷。

3

如果程序執行前有return語句,程序執行永遠不會到達break語句。

2

返回後程序將不會到達中斷,因此您可以從中刪除語句。

相關問題