c++ 调试时发现一个有意思的现象

2019-09-10 10:11:19 +08:00
 Steiner

今天在调试 c++程序时发现一个有意思的现象,在 for 循环里单步调试时执行到下个循环时并不会跳到 for 循环的首部,而是到它下面的 string tmp2(curStr); ,然后再往上执行,到 for 循环首部后再向下执行。

有人知道这是怎么回事吗?

1511 次点击
所在节点    问与答
4 条回复
heijiaotuan
2019-09-10 10:19:32 +08:00
调用了 string 的析构
sadfQED2
2019-09-10 12:30:54 +08:00
你换个编辑器试试?
sfqtsh
2019-09-10 12:32:31 +08:00
-O0
wnpllrzodiac
2019-09-11 08:44:03 +08:00
编译器优化了,release 版的代码就是上下乱跳的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/599527

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX