使对象的析构函数不调用成员的析构函数?
Make object's destructor not call member's destructor?
我想将我的对象存储在向量中。但是当我清除向量时,我希望调用对象析构函数,但我不希望它的某些成员析构函数不被调用?我怎样才能做到这一点?
class Officer
{
public:
CPed* m_pOfficer;
CVehicle* m_pPatrolVeh;
char m_pCallSign[16];
unsigned short m_nUnitNum;
}
我不想调用 m_pOfficer 和 m_pPatrolVeh 析构函数。
如果这 2 个语句...
delete m_pOfficer;
delete m_pPatrolVeh;
... 在 Officer 的析构函数中不存在,那么这些指针指向的任何内容都不会在 Officer 对象的销毁时被销毁。问题是,您是否有其他指向该数据的东西?
从设计的角度来看,这并不值得鼓励。也许你可以告诉我们更多关于你的目标是什么。
我想将我的对象存储在向量中。但是当我清除向量时,我希望调用对象析构函数,但我不希望它的某些成员析构函数不被调用?我怎样才能做到这一点?
class Officer
{
public:
CPed* m_pOfficer;
CVehicle* m_pPatrolVeh;
char m_pCallSign[16];
unsigned short m_nUnitNum;
}
我不想调用 m_pOfficer 和 m_pPatrolVeh 析构函数。
如果这 2 个语句...
delete m_pOfficer;
delete m_pPatrolVeh;
... 在 Officer 的析构函数中不存在,那么这些指针指向的任何内容都不会在 Officer 对象的销毁时被销毁。问题是,您是否有其他指向该数据的东西?
从设计的角度来看,这并不值得鼓励。也许你可以告诉我们更多关于你的目标是什么。