假设我有如下代码...
什么时候QMap工厂被销毁?在调用析构函数之前还是在析构函数期间?(我知道当GraphFactory实例超出作用域时,析构函数将被调用。但非指针成员何时被销毁?)
编辑:当QMap工厂到达析构函数时,我收到无效值。断点显示,该值不会影响存储在QMap中的值。
class GraphFactory : public QObject
{
private:
QMap<QString, IGraphCreator*> factory_;
public:
virtual ~GraphFactory();
};
GraphFactory::~GraphFactory()
{
// Free up the graph creators
QMap<QString, IGraphCreator*>::iterator itr;
for (itr = factory_.begin(); itr != factory_.end(); itr++)
{
IGraphCreator * creator = itr.value();
delete creator;
creator = NULL;
}
}
什么时候QMap工厂被销毁?在调用析构函数之前还是在析构函数期间?(我知道当GraphFactory实例超出作用域时,析构函数将被调用。但非指针成员何时被销毁?)
编辑:当QMap工厂到达析构函数时,我收到无效值。断点显示,该值不会影响存储在QMap中的值。