火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 820|回复: 16

[视窗] 请问 (如果) (分支判断) 语句的差异

[复制链接]

15

主题

62

帖子

195

积分

注册会员

Rank: 2

积分
195
发表于 2022-11-19 12:08:28 | 显示全部楼层 |阅读模式
本帖最后由 xuwanbin 于 2022-11-19 12:10 编辑

好好学习天天向上



刚才也去看了下官方文档 如果语句相当于易语言的判断  这也是易语言使用最多的流程控制语句
可是为什么还有分支判断这个语句
在C++内这个语句有什么不同吗?或者特殊情况下这个执行效率更高

回复

使用道具 举报

52

主题

297

帖子

2117

积分

金牌会员

Rank: 6Rank: 6

积分
2117
QQ
发表于 2022-11-19 20:59:27 | 显示全部楼层
理论上来说分支快,因为分支只能判断整数,如果是所有类型都可以判断,如果可能内部会解析类型,个人理解

评分

参与人数 1金钱 +1 收起 理由
xuwanbin + 1 感谢

查看全部评分

回复

使用道具 举报

392

主题

1万

帖子

2万

积分

超级版主

Rank: 8Rank: 8

积分
26466
发表于 2022-11-20 09:02:27 | 显示全部楼层
想用哪个用哪个

评分

参与人数 1金钱 +1 收起 理由
xuwanbin + 1 感谢

查看全部评分

安卓无障碍实战课:点击查看
交流群:641526939
回复

使用道具 举报

285

主题

1505

帖子

4670

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
4670
发表于 2022-11-20 09:41:34 来自手机 | 显示全部楼层
几乎没差别,除非是异常苛刻的高精度速度要求

评分

参与人数 1金钱 +1 收起 理由
xuwanbin + 1 感谢

查看全部评分

回复

使用道具 举报

7

主题

144

帖子

1066

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
1066
发表于 2022-11-20 12:11:00 | 显示全部楼层
正常来说低于4-5个的判断用如果否则,超过的就用分支判断,如果特别多的就做跳转表,,,,比如,内核的ssdt系统服务表,有几百个函数,不可能做几百个如果否则吧,说到底还是为了效率。。。
回复

使用道具 举报

32

主题

198

帖子

1927

积分

贵宾

Rank: 9Rank: 9Rank: 9

积分
1927
QQ
发表于 2022-11-20 12:24:08 | 显示全部楼层
如果根据逻辑值来进行操作

分支 基本上是确定数值了
欢迎访问乐易论坛 www.leybc.com
回复

使用道具 举报

15

主题

62

帖子

195

积分

注册会员

Rank: 2

积分
195
 楼主| 发表于 2022-11-21 15:44:11 | 显示全部楼层
乐易论坛 发表于 2022-11-20 12:24
如果根据逻辑值来进行操作

分支 基本上是确定数值了

可是分支看起来不如如果一目了然
回复

使用道具 举报

11

主题

616

帖子

2636

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
2636
发表于 2022-11-22 15:54:09 | 显示全部楼层
如果否则就是 if、else、else if
会按顺序判断,一旦条件达成就不再执行下面的判断,但如果条件很多,恰好也在最尾,那就会判断多次

分支判断是 switch,会根据提供的值直接跳到支持的分支,只需要判断一次

结论上来看,简单的整数判断,5个条件内是如果否则快,超过5个是分支判断快
回复

使用道具 举报

48

主题

558

帖子

2611

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
2611
发表于 2022-11-22 21:53:29 | 显示全部楼层
其实这就好比..数组的索引...
如果:  循环(0,数组.取成员数(),i){
   如果(i==5){        数组.取成员(i)
  }
}

分支:  数组.取成员(5)
一次定位,和多次判断定位的区别

回复

使用道具 举报

33

主题

155

帖子

1945

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
1945
发表于 2022-11-23 11:39:19 | 显示全部楼层
超过一定上限,用如果会进入到C++的一个坑,编译会报错,具体报啥不记得了,先前有遇到过。

用分支就不会有这个问题,特别是主窗口里的菜单,5个以上直接用分支吧。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2022-12-6 02:16 , Processed in 0.219996 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表