道阻且长,行则将至。埋头苦干,不鸣则已,一鸣惊人!加油,骚年!
欢迎关注我的微信公众号:BabyCoder,将为您提供更多有用的文章,谢谢!
前言
我是在一个使用多层嵌套 break 的地方,不知道 break 到底会跳出哪一层,因此才有了此篇笔记,并且对常用的 continue 也做了延伸。
参考的书上,总结的很详细,此处就简要记录一下。
参考资料
《C++ Primer 第五版》P170
跳转语句
C++ 语言提供了 4 种跳转语句: break、continue、goto、return
。
此处只总结常用的 break
和continue
两种跳转语句的使用方法。
break 语句
-
break
语句负责终止离它最近的while 、do while 、for
或switch
语句,并从这些语句之后的第一条语句开始继续执行。 -
break
语句只能出现在 迭代语句 或者 switch 语句内部(包括嵌套在此类循环里的语句或块的内部)。 -
break
语句的作用范围仅限于最近的循环或者 switch ;
continue 语句
-
continue
语句终止最近的循环中的当前迭代,并立即开始下一次迭代。 -
continue
语句只能出现在for 、while
和do while
循环的内部,或者嵌套在此类循环里的语句或块的内部。 -
与
break
语句类似的是,出现在嵌套循环中的 continue 语句也仅作用于离它最近的循环。 -
与
break
语句不同的是,只有当 switch 语句嵌套在迭代语句内部时,才能在 switch 里使用 continue 。 -
continue
语句中断当前的迭代,但是仍然继续执行循环。 -
对于 while 或者 do while 语句来说,继续判断条件的值;对于传统的 for 循环来说,继续执行 for 语句头的 expression(表达式) ;而对于范围 for 语句来说,则是用序列中的下一个元素初始化循环控制变量。
总结
- 要搞清楚跳出的是哪一层循环?
- 要了解 break 与 continue 的相似之处与不同之处;
- 使用过程中,要仔细认真,避免踩坑!
如果文章内容有误,麻烦评论/私信多多指教,谢谢!如果觉得文章内容还不错,记得一键三连哦(点赞、收藏、留言),您的支持就是对我最大的鼓励,谢谢您嘞!