c++ for 循环问题

bigbat 2018-02-27 07:57:55
查看和调试下列代码,发现该语句执行两次braek;

for (size_t scanLUTs(0); ; ++scanLUTs)
{
try
{
luts.push_back((std::shared_ptr<imebra::LUT>)loadedDataSet->getLUT(imebra::TagId(imebra::tagId_t::VOILUTSequence_0028_3010), scanLUTs));
//luts.push_back();
}
catch (const imebra::MissingDataElementError&)
{
break;
}
}
...全文
644 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2018-02-28
  • 打赏
  • 举报
回复
计算机组成原理→DOS命令→汇编语言→C语言(不包括C++)、代码书写规范→数据结构、编译原理、操作系统→计算机网络、数据库原理、正则表达式→其它语言(包括C++)、架构…… 对学习编程者的忠告: 多用小脑和手,少用大脑、眼睛和嘴,会更快地学会编程! 眼过千遍不如手过一遍! 书看千行不如手敲一行! 手敲千行不如单步一行! 单步源代码千行不如单步Debug版对应汇编一行! 单步Debug版对应汇编千行不如单步Release版对应汇编一行! 不会单步Release版对应汇编?在你想单步Release版C/C++代码片断的前面临时加一句DebugBreak();重建所有,然后在IDE中运行。(一般人我不告诉他!
CT8100 2018-02-28
  • 打赏
  • 举报
回复
break么?如果第一遍执行了就跳出break,你这里说执行了两边,不会是进入了两次for,要不然就是第一遍break所谓的执行成功,压根没有执行。加个变量记录下看看把,单步调试有时候会出现顺序错乱的现象,,
flying_music 2018-02-28
  • 打赏
  • 举报
回复
怎么发现执行两次break?
自信男孩 2018-02-28
  • 打赏
  • 举报
回复
这是一个只有通过break才能跳出的循环,理论上说break两次是不可能的,除非是递归吧。
paschen 版主 2018-02-27
  • 打赏
  • 举报
回复
该语句是哪条语句,在DEBUG下运行程序,RELEASE编译器会对代码进行优化

64,684

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧