c++11 智能指针 unique_ptr、shared_ptr与weak_ptr C++11中有unique_ptr、shared_ptr与weak_ptr等智能指针(smart pointer),定义在<memory>中。 可以对动态资源进行管理,保证任何情况下,已构造的对象最终会销毁,即它的析 ...
分类:
编程语言 时间:
2017-11-05 18:30:24
阅读次数:
155
stl中auto_ptr,unique_ptr,shared_ptr,weak_ptr四种智能指针使用总结 1. auto_ptrauto_ptr主要是用来解决资源自动释放的问题,比如如下代码:void Function(){Obj*p = new Obj(20);...if (error occo ...
分类:
其他好文 时间:
2017-10-14 23:28:14
阅读次数:
237
有四种: auto_ptr<class T> unique_ptr<class T> shared_ptr<class T> weak_ptr<class T> 这里先讨论前三种: 第一种 :auto_ptr 已摒弃;原因在于: 如 auto_ptr<class T> a(new T); auto_ ...
分类:
编程语言 时间:
2017-09-02 01:07:14
阅读次数:
169
<a>C++ <span style="font-family:宋体;">智能指针具体解释</span></a> 一、简单介绍 因为 C++ 语言没有自己主动内存回收机制。程序猿每次 new 出来的内存都要手动 delete。程序猿忘记 delete。流程太复杂。终于导致没有 delete。异常导致 ...
分类:
其他好文 时间:
2017-07-31 11:24:01
阅读次数:
174
stl中auto_ptr,unique_ptr,shared_ptr,weak_ptr四种智能指针的使用总结 (1)auto_ptr 主要用于解决资源自动释放的问题。防止用户忘记delete掉new申请的内存空间。使用auto_ptr会在离开变量的作用域之后直接调用析构函数进行资源释放。 但是,这是 ...
分类:
其他好文 时间:
2017-07-22 16:50:12
阅读次数:
713
weak_ptr是辅助shared_ptr的智能指针。就像它的名字一样。是个“弱”指针;仅有几个接口。仅能完毕非常少工作。它能够从一个shared_ptr或weak_ptr对象构造。获取对资源的观測权。它是没有共享资源的,所以它的对象的创建不会引起指针引用计数的添加,它的对象的析构也不会引起计数器的 ...
分类:
其他好文 时间:
2017-07-17 13:16:50
阅读次数:
257
1. boost::shared_ptr 前面我已经讲解了两个比较简单的智能指针,它们都有各自的优缺点。由于 boost::scoped_ptr 独享所有权,当我们真真需要复制智能指针时,需求便满足不了了,如此我们再引入一个智能指针,专门用于处理复制,参数传递的情况,这便是如下的boost::sha ...
分类:
编程语言 时间:
2017-05-11 22:30:52
阅读次数:
337
动态内存和智能指针 动态内存: 1.针对堆里面存放的对象 2.使用new delete运算符 3.智能指针:shared_ptr(多个指针指向同一个对象); unique_ptr(一个指针指向一个对象); weak_ptr(弱引用,管理shared_ptr) 4.标准库函数:make_shared< ...
分类:
编程语言 时间:
2017-05-07 10:23:34
阅读次数:
136
我们发现设计模式在Java社区非常流行,可是在C++社区却没有那么被关注,甚至有点被排斥,到底是什么原因造成这个差异的呢? (1)C++内存须要自己管理。所以有些模式在C++里使用不是那么方便。可是Java不用关心内存。所以在Java里的使用设计模式有天生的优势。随着shared_ptr, weak ...
分类:
编程语言 时间:
2017-05-03 20:33:10
阅读次数:
128
智能指针的行为像是指针,但是没有提供加的功能。例如,Item 13中解释了如何使用标准auto_ptr和tr1::shared_ptr指针在正确的时间自动删除堆上的资源。STL容器中的迭代器基本上都是智能指针:当然,你不能通过使用“++”来将链表中的指向一个节点的内建指针移到下一个节点上去,但是li ...
分类:
编程语言 时间:
2017-04-10 09:37:47
阅读次数:
270