程序堆区对象调用析构函数导致程序中断
场景:
1.程序将解析好的协议对象(通过new创建的)放入队列中使用,队列使用之后释放协议对象,第一次释放成功了,第二次释放导致程序中断。
产生原因:
1.因为协议对象在拷贝构造的时候,有成员变量为std::list
解决办法:
1.拷贝构造函数中使用深拷贝
2.将成员变量类型转为std::list
场景:
1.程序将解析好的协议对象(通过new创建的)放入队列中使用,队列使用之后释放协议对象,第一次释放成功了,第二次释放导致程序中断。
产生原因:
1.因为协议对象在拷贝构造的时候,有成员变量为std::list
解决办法:
1.拷贝构造函数中使用深拷贝
2.将成员变量类型转为std::list