删除非指针向量中的指针

Deleting pointers in non pointer vector


我将 post 代码的屏幕截图,因为还想在调试时显示变量。 截图:

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

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

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

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

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