它在c ++中打破了我的for循环吗?

时间:2013-10-14 16:18:11

标签: c++ for-loop break

for(size_t i=0;i<vec.size();i++){
    if(n>vec[i]){
        a=i;
        break;
    }
}

在这个例子中,我是否打破了if语句或for循环?

3 个答案:

答案 0 :(得分:4)

break 语句用于中断开关迭代语句,即while,do或for循环。 C++ draft standard 部分6.6.1 中断声明表示:

  

break语句只能在iteration-statement或switch语句中出现,并导致最小的封闭iteration-statement或switch语句终止;控制权传递给终止语句后的语句,如果有的话。

由于如果不是迭代语句开关,那么 break 将离开 for 循环。

答案 1 :(得分:1)

break语句仅结束立即包含它的doforswitchwhile语句。它不会突破if语句,因此您的代码会突破循环。

答案 2 :(得分:0)

它将突破 for 循环。

  

在循环中,break语句结束最近的封闭的执行   执行执行执行语句。

来源: Microsoft docs