C++ 退出双层for循环,解决 break、return、continue无法实现问题
遇到一个情景,采用双层for循环 遍历图像的像素,当找到某一个像素点满足条件时,退出双层for 循环 。
首先了解一下 continue、break、return 各自功能用法:
1.continue 语句的作用
break常和判断语句一起是使用.
其它参考:
1、Java中break return continue 区别
因, break,无法跳出双层循环,
2个解决方案:
1、 将双层for循环 写到一个子函数里面,然后用return 进行返回,退出子函数 。
2、双层for循环不是单独的一个子函数,而是在一个主函数中,还有其它函数,此时用return,会导致整个函数结束,此时可以对双层for循环的两个变量进行同时赋值来终止双层for循环,注意,不能只将外层赋值终止值,否则会报错,因为内层还没有循环完毕,而外层已经超出范围,所以务必现将子循环变量终止后,再终止外循环变量。 代码如下:
- for (int i = 0; i < img.rows;i++){
- for (int j = 0; j < img.cols;j++){
- int elesum = rgb.at<Vec4b>(i, j)[0] + rgb.at<Vec4b>(i, j)[1] + rgb.at<Vec4b>(i, j)[2];
- if (elesum> 0)
- {
- i = img.rows; j = img.cols; // 跳出双层 循环 赋值方式终止两个变量
- cout << "i: " << i << endl;
- cout << "j: " << j << endl;
- cout << endl;
- //break;
- }
- }
- }
C++ 退出双层for循环,解决 break、return、continue无法实现问题的更多相关文章
- 自学Python2.10-跳出循环(break、continue)
自学Python之路 自学Python2.10-跳出循环(break.continue) 1.跳出循环break, 跳出同层的循环 break语句可以跳出for和while的循环体. 如果你从for或 ...
- while + else 使用,while死循环与while的嵌套,for循环基本使用,range关键字,for的循环补充(break、continue、else) ,for循环的嵌套,基本数据类型及内置方法
今日内容 内容概要 while + else 使用 while死循环与while的嵌套 for循环基本使用 range关键字 for的循环补充(break.continue.else) for循环的嵌 ...
- 循环结构中break、continue、return和exit的区别
1. break break语句的使用场合主要是switch语句和循环结构.在循环结构中使用break语句,如果执行了break语句,那么就退出循环,接着执行循环结构下面的第一条语句.如果在多重嵌套循 ...
- 【Java】Java_16 控制循环结构Break、Continue、Return
1.break break用于完全结束一个循环,跳出循环体.不管是哪种循环,一旦在循环体中遇到break,系统将完全结束该循环 在Java中是的标签定义,标签就是一个紧跟着英文冒号(:)的标识符 代码 ...
- java基础 ------- 多重循环 and break与continue
----- 什么是多重循环 ---- 打印数列 public class ForEx { public static void main(String[] args){ for(int i = ...
- break return continue
1.return 语句的作用 (1) return 从当前的方法中退出,返回到该调用的方法的语句处,继续执行 (2) return 返回一个值给调用该方法的语句,返回值的数据类型必须与方法的声明中的返 ...
- java中多重循环和break、continue语句
一.嵌套循环 循环可以互相嵌套,以实现更加复杂的逻辑,其代码的复杂程度也会提高,对初学者而言这应该是个难点,下面我们通过一些例子说明嵌套循环的使用,读者要自己把这些代码上机练习,并理解程序运行的流程. ...
- 记录今天学习python中for与while循环针对break和continue的用法
python中有两个主要的循环for与while,其中针对这两个循环有两种不同的中断用法break与continue. 首先先看下面的循环代码: 1: for i in range(10):#变量i带 ...
- python 语句:条件、循环、break、continue...
1. 条件语句 执行条件:判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围. [Python程序语言指定任何非0和非空(null)值为true,0 或 ...
随机推荐
- 电子产品使用感受之--Windows 10 小米笔记本Air HDMI转VGA无信号问题
最近一直通过HDMI转VGA线缆链接我的戴尔P2314H显示器,前天睡觉前,看到电脑上英伟达显卡推了驱动更新,顺手更新了一下,就去睡觉了,转天晚上再用,HDMI接口就没有信号了,上网查了一些信息,获知 ...
- Linq多表联合查询,在View中绑定数据
Ⅰ→通过ViewData传递数据,不过需要新建一个类(用来存) NewClass(里面有表1的字段和表2的字段) public class JoinTab1_2 { public int ID { g ...
- opencv中 int main(int argc,char* argv[])详解
opencv中 int main(int argc,char* argv[])详解 argc是命令行总的参数个数 argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数 ...
- Bootstrap框架 inconfont font-awesome
Bootstrap框架和inconfont.font-awesome使用 iconfont的使用:https://www.cnblogs.com/clschao/articles/10387580.h ...
- 关于ti环境搭建 IAR 为什么IAR不能跳转的真正原因
1.IAR工程莫名其妙的错误,可以通过复制工程文件来解决 2.cc2540环境配置,尽量默认到c盘,以便解决不必要的麻烦,另外,不同的库尽量安装对应的环境文件,比如freertos等环境 3.对于蓝牙 ...
- oracle的存储过程
plsql中执行无参数存储过程格式: begin tttttttttttttt;end; 在执行记录表中 select *from v$sqlarea t where t.sql_text like ...
- [No000013D].Net 项目代码风格参考
1. C#代码风格要求 1.1 注释 类型.属性.事件.方法.方法参数,根据需要添加注释. 如果类型.属性.事件.方法.方法参数的名称已经是自解释了,不需要加注释:否则需要添加注释. 当添加注释时,添 ...
- 9 tips to improve spoken english
https://www.youtube.com/watch?v=FUW_FN8uzy0 1. don't translate everything into your native language ...
- 数学用语中的 透明 transitive property
1.透明 https://en.wikipedia.org/wiki/Equivalence_relation In mathematics, an equivalence relation is a ...
- [development][dpdk][pktgen] 网卡收发包性能测试
一: 多队列及中断信息收集 [root@T185 ~]# ethtool -g eth0 Ring parameters for eth0: Pre-set maximums: RX: RX Mini ...