它是否打破了 c++ 中的 for 循环

Is it break my for loop in c++?

本文关键字:中的 for 循环 c++ 是否      更新时间:2023-10-16
for(size_t i=0;i<vec.size();i++){
    if(n>vec[i]){
        a=i;
        break;
    }
}

在此示例中,我是否中断了 if 语句或 for 循环?

break 语句用于脱离开关迭代语句,即 while、do 或 for 循环。C++标准草案部分6.6.1中断声明说:

break 语句应仅出现在迭代语句或 switch 语句

中,并导致最小的封闭迭代语句或 switch 语句终止;控制权传递给终止语句之后的语句(如果有)。

由于 if 不是迭代语句开关,因此中断将离开 for 循环。

break语句只结束紧随其后的doforswitchwhile语句。 它不会脱离 if 语句,因此您的代码正在脱离循环。

它将

for 循环中断。

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

来源: Microsoft文档