c++ - 如果它后面没有一行,为什么排序不给我正确的值?
问题描述
当 sort 后面没有一行时,结果不正确。我在排序线上放了一个断点,然后跨步直到排序线运行,并检查myvector
.
但是当它后面有一行时,即使该行与 myvector 变量无关,我也会得到正确的值。在这里,我可以在排序之后放置断点,所以我需要跨过任何东西。这里发生了什么?
解决方案
这听起来像是 IDE 和调试器的一个弱点。
如果您“踩到”那个右括号,那么您就是在观察事物被销毁后的值,即什么也没有。
当您进入代码中存在的实际语句时,一切都还活着,因此您的调试器可以正常工作。
理想情况下,您的 IDE 不允许这样做,或者至少会清楚这一点。我隐约记得以前在这里看到过这个问题。
实际上,你总是在用这个向量“做某事”(例如返回它;否则为什么要创建和排序它?)所以你总是有一个有意义的声明可以在你的sort
调用之后中断。
推荐阅读
- reactjs - React firebase 无法取消订阅监听器
- google-analytics - 谷歌分析不会在任何仪表板中显示任何数据
- recaptcha - 发布到不同服务器时的 Google recaptcha
- java - 有没有办法避免在 if else 块中重复方法调用?
- android-studio - 使用 Android Studio 4.0 创建布局检查器 *.li 文件
- laravel - Laravel - 如何在 Laravel 中删除空白
- selenium-webdriver - 当移动仿真和多个浏览器量角器/硒网络驱动程序时,为什么会出现“元素不可交互”?
- dynamics-365 - 如何访问 Dynamics 365 商业中心云服务的数据库?
- pytest - 通过 PyTest 插件覆盖集合路径
- python-3.x - 在没有命令提示符的情况下运行烧瓶应用程序