码迷,mamicode.com
首页 >  
搜索关键字:智能指针    ( 834个结果
C++2.0新特性(七)——<Smart Pointer(智能指针)之weak_ptr>
一、weak_ptr出现的意义 上一节提到过shared_ptr,它会自动释放“不再需要使用的对象”的相应的资源,但是它不是万能的,在某些时候(比如说循环引用),它会显得力不从心,这就是weak_ptr出现的意义; 1.1 weak_ptr 使用特性 weak_ptr也是一个模板,只提供能接受一个s ...
分类:编程语言   时间:2019-11-03 18:12:11    阅读次数:113
动态内存与智能指针
动态内存与智能指针 智能指针分为shared_ptr、unique_ptr、weak_ptr,他们负责自动释放所指向的对象,shared_ptr允许多个指针指向同一个对象,unique_ptr独占所指向的对象,weak_ptr是一种弱引用,指向shared_ptr所管理的对象,他们都定义在memor ...
分类:其他好文   时间:2019-10-19 19:08:57    阅读次数:102
c++11之智能指针
由于在c++中我们可以动态分配内存,但有时候我们会忘记用 delete或free释放内存,就会导致内存泄露。所以c++11提供了智能指针这种东西 本文参考了知乎某知乎友的 https://www.zhihu.com/people/mo-shan-zhe/activities 比如下面这两种情况 可能 ...
分类:编程语言   时间:2019-10-16 19:44:18    阅读次数:99
智能指针是否线程安全
1.9 再论shared_ptr 的线程安全 虽然我们借shared_ptr 来实现线程安全的对象释放,但是shared_ptr 本身不是100% 线程安全的。它的引用计数本身是安全且无锁的,但对象的读写则不是,因为shared_ptr 有两个数据成员,读写操作不能原子化。根据文档11,shared ...
分类:编程语言   时间:2019-10-08 20:31:03    阅读次数:540
智能指针
太长了 参考链接: 【1】https://www.jianshu.com/p/a462a35c9481 【2】https://blog.csdn.net/k346k346/article/details/81478223 【3】https://blog.csdn.net/flowing_wind/a ...
分类:其他好文   时间:2019-10-06 18:46:53    阅读次数:84
第23课 优先选用make系列函数
一. make系列函数 (一)三个make函数 1. std::make_shared:用于创建shared_ptr。GCC编译器中,其内部是通过调用std::allocate_shared来实现的。 2. std::make_unique:C++14中加入标准库。 3. std::allocate ...
分类:其他好文   时间:2019-10-05 22:25:39    阅读次数:129
C++智能指针
一、简介 由于 C++ 语言没有自动内存回收机制,程序员每次 new 出来的内存都要手动 delete。程序员忘记 delete,流程太复杂,最终导致没有 delete,异常导致程序过早退出,没有执行 delete 的情况并不罕见。 用智能指针便可以有效缓解这类问题,本文主要讲解参见的智能指针的用法 ...
分类:编程语言   时间:2019-10-05 18:47:26    阅读次数:89
第22课 weak_ptr弱引用智能指针
一. weak_ptr的概况 (一)weak_ptr的创建 1. 直接初始化:weak_ptr<T> wp(sp); //其中sp为shared_ptr类型 2. 赋值: wp1 = sp; //其中sp为shared_ptr类型 wp2 = wp1; //其中wp1为weak_ptr类型 (二)常 ...
分类:其他好文   时间:2019-10-05 01:06:44    阅读次数:136
第21课 shared_ptr共享型智能指针
一. shared_ptr的基本用法 (一)与unique_ptr的比较 比较 shared_ptr unique_ptr 备注 初始化 ①shared_ptr<T> sp; sp.reset(new T()); ②shared_ptr<T> sp(new T()); ③shared_ptr<T> ...
分类:其他好文   时间:2019-10-04 16:52:00    阅读次数:164
第20课 unique_ptr独占型智能指针
一. unique_ptr的基本用法 (一)初始化方式 1. 直接初始化:unique<T> myPtr(new T); //ok。但不能通过隐式转换来构造,如unique<T> myPtr = new T()。因为unique_ptr构造函数被声明为explicit。 2. 移动构造:unique ...
分类:其他好文   时间:2019-10-03 12:58:41    阅读次数:114
834条   上一页 1 ... 5 6 7 8 9 ... 84 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!