欢迎使用CSDN-markdown编辑器
来源:互联网 发布:Buffer cache linux 编辑:程序博客网 时间:2024/06/03 16:06
被重复释放坑了
对于编译器来说,智能指针实际上是一个栈对象,并非指针类型,在栈对象生命期即将结束时,智能指针通过析构函数释放有它管理的堆内存。所有智能指针都重载了“operator->”操作符,直接返回对象的引用,用以操作对象。访问智能指针原来的方法则使用“.”操作符。
问题重现: std::shared_ptr<string>str1(new string("sdfsdfsgsd"));
std::shared_ptr<string>str2;
str2.reset((string*)str1.get());
当str1和str2释放时,会对new出来的string进行delete两次。
0 0
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 推荐一个在线编辑Latex公式的网站
- [工具]进程守护脚本
- Linux 设备节点
- 编程技巧 - 8
- 常用目录名
- 欢迎使用CSDN-markdown编辑器
- AA记账随手记ios项目源码
- 实例变量那点事
- css毛玻璃效果
- Codeforces Round #299 (Div. 1) A. Tavas and Karafs(二分)
- 关于Keychain Sharing的一些个人经验
- iOS 9.1如何隐藏和显示StatusBar
- 激活Maven profile的几种方式
- INTEL_BIOS 编译—for-ATOM_E3800