自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1)
  • 收藏
  • 关注

原创 [C++ 11] 使用shared_ptr内存被重复析构错误记录

原先代码中y为实例,z为指向y的shared_ptr,在程序结束后y先被释放并执行析构函数,而z中的引用计数未受到影响,因此在析构shared_ptr z时仍然会再次执行对y实例的析构操作,导致内存重复析构引发异常。y转换为指针类型后不会被程序自动析构,因此z可以正常对y执行析构操作。运行后报错(错误信息如下图),定位后发现是在main函数体结束后析构过程中出现的问题,输出各析构函数信息后发现原因是y实例被析构了两次,内存重复释放导致报错。(源代码情况类似下图)将源代码中的y改为指针形式。

2023-04-03 20:05:31 269 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除