for(size_t i=0;i<vec.size();i++){
if(n>vec[i]){
a=i;
break;
}
}
在這個例子中,我打破了if語句或for循環嗎?它在C++中打破我的循環?
for(size_t i=0;i<vec.size();i++){
if(n>vec[i]){
a=i;
break;
}
}
在這個例子中,我打破了if語句或for循環嗎?它在C++中打破我的循環?
的斷裂語句用來跳出開關或循環語句即的同時,做或for循環。該C++ draft standard部分6.6.1
break語句說:
break語句應在迭代語句或switch語句只發生,並導致最小的終止封閉迭代語句或switch語句;如果有的話,控制權傳遞給終止陳述後面的陳述。
由於如果不是循環語句或開關那麼突破將離開爲循環。
一個break
語句結束只有do
,for
,switch
,或while
聲明立即圍住它。它不會打破if語句,因此您的代碼正在脫離循環。
試試吧:ideone.com –
無論如何,你應該使用'std :: find_if'。 – chris
你不能打破如果陳述... – Liel