gpt4 book ai didi

c++ - 单步执行代码时重复上一行

转载 作者:行者123 更新时间:2023-11-28 04:03:03 26 4
gpt4 key购买 nike

在单步执行我的代码时,我注意到在实例化一个新类时,代码后退一行,因此执行了两次。这是两行。

ST_GalacticObject GO = GalacticObjects->Item [FIndex];
delete F; F = new ST_Facility (GO);

注意:GalacticObjects 和称为 FacilityClasses 的相关对象(同一文件)都定义为 extern。

最佳答案

在创建和销毁对象时生成的代码中有许多隐藏位。

编译器在创建这段代码时为其分配了一些行号。执行代码时,调试器会突出显示该行。

一个常见的情况是调试器返回到运行析构函数时声明对象的行。

当您的代码不一定按顺序执行时,优化代码会变得更糟,您甚至可能会看到代码行被多次执行,因为每行的不同部分都被评估了。

您只需要相信编译器已经做了正确的事情并生成了正确的代码,而忽略调试器告诉您正在进行的事情。

关于c++ - 单步执行代码时重复上一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59192207/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com