删除非指针向量中的指针
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
.
我将 post 代码的屏幕截图,因为还想在调试时显示变量。
截图:
好的,所以我有截图中的代码并且:
SystemClass *pSystemClass = new SystemClass();
// Use of pSystemClas
delete pSystemClass;
问题是,我是否必须在删除 pSystemClass 之前删除存储在 vp_DatabaseManager 向量中的指针,或者我可以在 SystemClass 析构函数中执行此操作,如屏幕截图所示?
因为在调试模式下,看起来 vp_DatabaseManager 向量在我可以访问 SystemClass 析构函数中的指针之前被删除。
在 SystemClass
析构函数中,遍历 vector
并删除指针。您还可以研究 unique_ptr
.