- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我现在有很多代码让我发疯。我正在使用 OpenGL,构建一个使用多种不同类型对象的 GUI 框架。我有加载 *.png 文件并以 GLuint 纹理引用的形式存储图像信息的图像类。我有 Panel 和 Button 类,它们带有指向它们应该显示的图像类的指针。我有一个带有 std::vectors 面板和按钮指针的 Hud 类。最后,我有一个 Engine 类,其中包含一个 Hud 类、我所有的 Button 和 Panel 类以及 Image 指针。当构造函数运行时,每个图像指针都使用以下方法初始化:
imgMy = new Image;
一旦所有图像都已初始化,我将运行我的加载函数:
imgMy->loadImage("imgMy.png");
当然,我在关闭程序时会删除图像。
我的问题是某些图像出现“交叉”。我现在有大约三十张图片,其中一些按钮显然指向了错误的图片。我已经彻底检查了我的代码,它看起来很可靠。我认为这是一个内存错误,因为显示不正确图像的按钮不一致。有时它们显示正确的图像,有时不同的按钮显示错误的图像。我希望我能在这里展示我的代码,但它非常庞大。
我在 Engine 类中使用 Image 指针而不是实际 Image 对象的原因是,如果调整 Engine 类的大小或其内存重新排列,我担心 Buttons 指向无效内存。我怀疑有更好的方法来实现我想要完成的目标,如果能提供任何相关建议,我将不胜感激。
最佳答案
使用调试器让您在相关的 imgMy
上放置一个观察点,然后调试器会告诉您它们在哪里被修改。这可能是追踪它的最简单方法。
您可能还想尝试 valgrind,但这听起来不像是 valgrind 会发现的问题类型。
关于c++ - C++ 类中的指针变得杂乱无章,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7904191/
好吧,我有一个我正在构建的工具,它调用设置 JQuery 事件处理程序的函数,但结果是相同的处理程序将在调用不同的函数时一遍又一遍地设置。它按预期工作:最近调用的处理程序的操作是执行的操作。但这会造成
我是一名优秀的程序员,十分优秀!