【问题标题】:Deleting pointers in non pointer vector删除非指针向量中的指针
【发布时间】:2015-04-05 00:23:31
【问题描述】:


我将发布代码截图,因为还想在调试时显示变量。 截图:

好的,所以我有截图上的代码,并且:

SystemClass *pSystemClass = new SystemClass();
// Use of pSystemClas
delete pSystemClass;

问题是,我是否必须在删除 pSystemClass 之前删除存储在 vp_DatabaseManager 向量中的指针,或者我可以在 SystemClass 析构函数中执行它,如屏幕截图所示?

因为在调试模式下,看起来 vp_DatabaseManager 向量在我可以访问 SystemClass 析构函数中的指针之前已被删除。

【问题讨论】:

  • 请在此处发布代码,而不是一些 jpeg。复制/粘贴/分析/阅读更容易
  • 好了,问题解决了,这里也加了代码。
  • @So_ 请不要编辑问题的答案。我已经回滚了这个问题。相反,接受发布的答案。如果您想显示该代码,请将其作为此问题的答案发布。

标签: c++ class pointers vector destructor


【解决方案1】:

SystemClass 析构函数中,遍历vector 并删除指针。也可以研究unique_ptr

【讨论】:

  • 谢谢你,在你回答后我再次查看调试器,似乎我的断点在错误的地方(括号),这就是为什么我在调试窗口中被本地人混淆的原因。跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-04-14
  • 2015-08-09
  • 1970-01-01
  • 2020-06-24
  • 2013-09-24
  • 2012-08-12
相关资源
最近更新 更多