摘要: 在语句#3中,p2接管string对象的所有权后,p1的所有权将被剥夺。前面说过,这是好事,可防止p1和p2的析构函数试图刪同—个对象; 但如果程序随后试图使用p1,这将是件坏事,因为p1不再指向有效的数据。 下面来看使用unique_ptr的情况: 编译器认为语句#6非法,避免了p3不再指向有效数 阅读全文
posted @ 2018-07-22 17:13 我得去图书馆了 阅读(776) 评论(0) 推荐(0) 编辑
摘要: 1、综述 shared_ptr 是一个标准的共享所有权的智能指针, 允许多个指针指向同一个对象. 定义在 memory 文件中(非memory.h), 命名空间为 std. shared_ptr 是为了解决 auto_ptr 在对象所有权上的局限性(auto_ptr 是独占的), 在使用引用计数的机 阅读全文
posted @ 2018-07-22 16:35 我得去图书馆了 阅读(1206) 评论(0) 推荐(0) 编辑
摘要: 1、智能指针背后的设计思想 我们先来看一个简单的例子: 当出现异常时(weird_thing()返回true),delete将不被执行,因此将导致内存泄露。 如何避免这种问题?有人会说,这还不简单,直接在throw exception();之前加上delete ps;不就行了。是的,你本应如此,问题 阅读全文
posted @ 2018-07-22 10:31 我得去图书馆了 阅读(853) 评论(0) 推荐(0) 编辑
摘要: 待补充 阅读全文
posted @ 2018-07-22 09:47 我得去图书馆了 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 待补充 阅读全文
posted @ 2018-07-22 09:46 我得去图书馆了 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 待补充 阅读全文
posted @ 2018-07-22 09:44 我得去图书馆了 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 待补充 阅读全文
posted @ 2018-07-22 09:42 我得去图书馆了 阅读(356) 评论(0) 推荐(0) 编辑