20、weak_ptr弱引用的智能指针 0、课前秀 + 弱引用指针weak_ptr是用来监视shared_ptr的,不会使引用计数加1,它不管理shared_ptr内部的指针,主要是为了监视shared_ptr的生命周期。 + weak_ptr没有重载操作符 和` `,因为它不共享指针,不能操作资源 ...
分类:
编程语言 时间:
2020-05-25 19:15:37
阅读次数:
66
智能指针weak_ptr为弱共享指针,实际上是share_ptr的辅助指针,不具备指针的功能。主要是为了协助 shared_ptr 工作,可用来观测资源的使用情况。weak_ptr 只对 shared_ptr 进行引用,而不改变其引用计数,当被观察的 shared_ptr 失效后,相应的 weak_ ...
分类:
其他好文 时间:
2019-12-23 13:41:27
阅读次数:
399
std::shared_ptr 是通过指针保持对象共享所有权的智能指针。多个 shared_ptr 对象可占有同一对象大概实现了一下,主要实现原理为,共享指针内部持有堆资源的指针以及引用计数的指针,通过对这两个指针的维护,达到多个共享对象对同一资源的控制 实现主要分为三个文件。share_ptr.h ...
分类:
其他好文 时间:
2018-05-13 01:08:37
阅读次数:
168
如上例所述,变量a,b和它们的值10,20都是存在栈里面,声明的所以String类型的引用也都是存在栈里。而字符串abc是存在字符串常量池中,new出来的String对象则是存在堆里。 上面这行代码被执行的时候,JVM先到字符串池中查找,看是否已经存在值为”abc”的对象,如果存在,则不再创建新的对 ...
分类:
编程语言 时间:
2018-03-21 20:02:52
阅读次数:
172
```C++ weak_ptr wp1; { shared_ptr ptr1(new Cls1);//共享指针 wp1 = ptr1;//临时共享指针 std::cout ...
分类:
其他好文 时间:
2018-03-13 15:45:35
阅读次数:
205
弱指针boost::weak_ptr的定义在boost/weak_ptr.hpp里。到目前为止介绍的各种智能指针都能在不同的场合下独立使用。相反,弱指针只有在配合共享指针一起使用时才有意义。因此弱指针被看作是共享指针的观察者,用来观察共享指针的使用情况。当用到共享指针时,就要考虑是否需要使用弱指针了 ...
分类:
其他好文 时间:
2016-08-13 21:09:50
阅读次数:
185
共享数组 共享数组的行为类型于共享指针。关键不同在于共享数组在析构时,默认使用delete[]操作符来释放所含的对象。因为这个操作符只能用于数组对象,共享数组必须通过动态分配的数组的地址来初始化。共享数组对应的类型是boost::shared_array,它的定义在boost/shared_arra ...
分类:
其他好文 时间:
2016-08-13 21:09:29
阅读次数:
185
共享指针 这个智能指针命名为boost::shared_ptr,定义在boost/shared_ptr.hpp里。智能指针boost::shared_ptr基本上类似于boost::scoped_ptr。关键不同之处在于boost::shared_ptr不一定要独占一个对象。它可以和其他boost: ...
分类:
其他好文 时间:
2016-08-13 20:55:42
阅读次数:
251
指针用起来是一把利器,但用得不好的童鞋 无异于 火上浇油 ,下面笔者将自己学习 的一点小小心得,与君共享 指针在类中 1.对象指针 初始化 Point a(4,5); Point *p1 = &a; 使用 使用对象名访问成员函数 cout << a.getX() << endl; 使用对象指针访问成 ...
分类:
编程语言 时间:
2016-04-28 00:05:47
阅读次数:
244