原文:shared_ptr和weak_ptr以及循环引用问题

shared ptr的出现: 使用裸指针对堆对象 动态内存 进行管理是极其容易出现问题的。例如:忘记释放内存造成的内存泄漏 尚有指针引用内存的情况下释放了该内存等等的问题。 为此能够更加智能地保留或者释放堆 动态 对象,标准库以及boost库提供了智能指针。智能指针负责自动释放所指向的对象。智能指针的使用和普通指针类似,解引用一个智能指针返回它指的对象。 shared ptr:允许多个指针指向同一 ...

2020-01-20 17:02 0 770 推荐指数:

查看详情

std::shared_ptr 和 std::weak_ptr的用法以及引用计数的循环引用问题

在std::shared_ptr被引入之前,C++标准库中实现的用于管理资源的智能指针只有std::auto_ptr一个而已。std::auto_ptr的作用非常有限,因为它存在被管理资源的所有权转移问题。这导致多个std::auto_ptr类型的局部变量不能共享同一个资源,这个问题是非常严重 ...

Tue Feb 07 00:02:00 CST 2017 0 5235
shared_ptr & weak_ptr

shared_ptr <1> 类模板说明 View Code <2> 示例用法 示例 [1]:(基本用法) View Code 示例 [2]:(惯用法)使用shared_ptr来隐藏不完整 ...

Thu Oct 08 04:18:00 CST 2015 0 2072
聊聊智能指针 auto_ptrshared_ptrweak_ptr和unique_ptr

本文为转载:https://www.cnblogs.com/zeppelin5/p/10083597.html,对作者有些地方做了修正。 手写代码是理解C++的最好办法,以几个例子说明C++四个智能指针的用法,转载请注明出处。 一、auto_ptr   auto_ptr这是C++98标准下 ...

Sat Jul 13 19:20:00 CST 2019 0 436
shared_ptr use_count_和weak_count_作用,循环引用问题

use_count:对象数据的引用计数,每次引用计数加1,每次释放计数减一,当计数为0时,释放对象空间。 weak_count:引用计数的计数,即use_count的计数。     如果对象数据地址多次赋值给shared_ptr<>则use_count++,而weak ...

Tue Feb 16 07:26:00 CST 2021 0 349
传说中的神器: shared_ptr/weak_ptr/scoped_ptr

ref page1 and page2 《Linux多线程服务端编程》称 shared_ptr/weak_ptr 之为神器。 in multi-threading programming, we sometime get core dump when delete som obj ,even ...

Wed Feb 20 06:13:00 CST 2013 0 2859
c++11 智能指针 unique_ptrshared_ptrweak_ptr

c++11 智能指针 unique_ptrshared_ptrweak_ptr C++11中有unique_ptrshared_ptrweak_ptr等智能指针(smart pointer),定义在<memory>中。 可以对动态资源进行管理,保证任何情况下,已构造 ...

Mon Nov 06 01:57:00 CST 2017 0 17970
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM