完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
有人表示在C++中for (int i = 0 int j = str.length(); i
|
|
相关推荐
9个回答
|
|
是的,看上去是第一个效率低一点,你可以验证下
|
|
|
|
对于默认编译选项,也就是无优化,前者效率高多了,不用执行多次strlength()了。
但是!如果开了优化,很大可能编译器会将后者编译为前者, 可以试验试试,开优化最高等级,看看编译出来的汇编文件,两者应该类似 |
|
|
|
for (int i = 0 int j = str.length(); i
|
|
|
|
前者效率高,不用每次都运行计算字符长度函数。
|
|
|
|
前者效率高,不用每次都运行函数strlength()
|
|
|
|
感觉是前面那种写法效率会高点,这里面j被strlength()赋值后,就不用每次都计算下strlength了,所以效率高点。
|
|
|
|
第一个str.length()只调用了一次,效率是高一些的。
|
|
|
|
前者相当于是用一个变量先保存了这个str.length()的结果,for的第一个条件是只用执行一次的,但for的第二个条件是每次都要执行的,所以第二种写法相当于执行了多次str.length(),而且,这种操作还容易被打断,在多线程里面不推荐
|
|
|
|
第一种效率高一些
|
|
|
|
只有小组成员才能发言,加入小组>>
809 浏览 0 评论
1161 浏览 1 评论
2535 浏览 5 评论
2871 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2719 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1100浏览 3评论
198浏览 2评论
464浏览 2评论
378浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
459浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 05:44 , Processed in 1.241644 second(s), Total 95, Slave 75 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号