我做了一個函數調用,當它返回false時,我會繼續無限期地檢查,直到它返回true。以下代碼是否正常?C++函數檢查真實條件
while(true)
{
bool result = func();
if(result == false)
continue;
else
break;
}
我做了一個函數調用,當它返回false時,我會繼續無限期地檢查,直到它返回true。以下代碼是否正常?C++函數檢查真實條件
while(true)
{
bool result = func();
if(result == false)
continue;
else
break;
}
如何擺脫break
和continue
的。它不被認爲是非常好的使用它們(尤其是當不要求):
bool result;
do
{
result = func();
if(result == false) {
// Supposedly you want to do something here...?
}
} while(result == false);
當然你也可以使用!
而不是false
以節省一些字節的源代碼。但我想這一點並不重要。
+1這種方法 - 對我來說是新東西:) –
使用像'result == false'這樣的表達式也不是很好。這只是'!結果'。 –
可以縮短。
do
{
} while (!func());
爲什麼不使用
while (!func());
呢?有些人不喜歡看到空的while
,因此可能更喜歡@dwxw的解決方案。
本身沒有任何問題,但控制的(空的)語句應該在單獨的行上,至少。 –
你可以做到這一點,但爲什麼不只是:
while(!func())
{
// do what you want to do...
}
「無限期檢查」 - ?? –
當你測試它時發生了什麼? –
@Shumail Mohy-ud-Din它工作,但我看起來更好。 –