文章 2024-05-29 来自:开发者社区

从C语言到C++_36(智能指针RAII)auto_ptr+unique_ptr+shared_ptr+weak_ptr(下)

从C语言到C++_36(智能指针RAII)auto_ptr+unique_ptr+shared_ptr+weak_ptr(中):https://developer.aliyun.com/article/1522496 6. weak_ptr        weak_ptr是为解决循环引用问题而产生的,可以把weak_ptr当作shared...

从C语言到C++_36(智能指针RAII)auto_ptr+unique_ptr+shared_ptr+weak_ptr(下)
文章 2024-05-29 来自:开发者社区

从C语言到C++_36(智能指针RAII)auto_ptr+unique_ptr+shared_ptr+weak_ptr(中)

从C语言到C++_36(智能指针RAII)auto_ptr+unique_ptr+shared_ptr+weak_ptr(上):https://developer.aliyun.com/article/1522495 3.1 auto_ptr模拟代码 (上面SmartPtr再加一个赋值重载改下名字就差不多是auto_ptr的模拟了,再用命名空间封一下) 赋值重载细节还挺多...

从C语言到C++_36(智能指针RAII)auto_ptr+unique_ptr+shared_ptr+weak_ptr(中)
文章 2024-05-29 来自:开发者社区

从C语言到C++_36(智能指针RAII)auto_ptr+unique_ptr+shared_ptr+weak_ptr(上)

1. 智能指针的引入_内存泄漏 为什么需要智能指针?上一篇: 1.1 内存泄漏 上面是异常安全导致的内存泄漏问题,开空间没有释放也可能导致内存泄漏。 什么是内存泄漏?:  ...

从C语言到C++_36(智能指针RAII)auto_ptr+unique_ptr+shared_ptr+weak_ptr(上)
文章 2024-05-07 来自:开发者社区

【C++入门到精通】智能指针 shared_ptr循环引用 | weak_ptr 简介及C++模拟实现 [ C++入门 ]

引言 欢迎阅读本系列文章的第二篇,我们将继续探讨与 shared_ptr 相关的主题。上一篇文章我们介绍了 shared_ptr 的强大功能,但也提到了它可能面临的一个问题 —— 循环引用。当两个或多个对象之间相互持有 shared_ptr 的引用时,就会形成循环引用,导致这些对象无法被正确释放,从而引发内存泄漏。 在本文中,我们将深入讨论循环引用问题,并引入另一个智能指针类——...

【C++入门到精通】智能指针 shared_ptr循环引用 | weak_ptr 简介及C++模拟实现 [ C++入门 ]
文章 2024-03-21 来自:开发者社区

【C++ 包装器类 智能指针】完全教程:std::unique_ptr、std::shared_ptr、std::weak_ptr的用法解析与优化 — 初学者至进阶指南

1. 智能指针简介 1.1 C++智能指针的概念 C++智能指针(Smart Pointers)是一种能够实现自动化内存管理的对象。智能指针在析构时会自动释放它所拥有的内存,从而消除了程序员手动管理内存的复杂性。它们...

【C++ 包装器类 智能指针】完全教程:std::unique_ptr、std::shared_ptr、std::weak_ptr的用法解析与优化 — 初学者至进阶指南
文章 2024-01-16 来自:开发者社区

C++智能指针weak_ptr

C++智能指针weak_ptr学习路线:C++智能指针shared_ptr->C++智能指针unique_ptr->C++智能指针weak_ptr简介:本文讲解常用的智能指针的用法和原理,包括shared_ptr,unique_ptr,weak_ptr。概述weak_ptr设计的目的是为配合 shared_ptr 而引入的一种智能指针来协助 shared_ptr 工作, 它只可以从一....

C++智能指针weak_ptr
文章 2023-06-19 来自:开发者社区

C++11之智能指针(unique_ptr、shared_ptr、weak_ptr、auto_ptr)浅谈内存管理

前言下面这段代码看起来正常,但事实在特殊情况下f函数可能无法释放这个a资源。void f() { A * a = new A(); ... delete a; }例如:1.如果在中间这段代码中有一个过早的return语句,且刚好被执行那么就会出现内存泄漏,这时你可能会说在每个return前都加一个delete a;语句。不得不说这种做法可以避免上述出现的问题,但会导致代码中随处可见的...

C++11之智能指针(unique_ptr、shared_ptr、weak_ptr、auto_ptr)浅谈内存管理
文章 2017-11-24 来自:开发者社区

C++智能指针--weak_ptr

weak_ptr是对对象的一种弱引用,它不会添加对象的引用计数。weak_ptr和shared_ptr之间能够相互转换。shared_ptr能够直接赋值给week_ptr,week_ptr可通过调用lock函数来获得shared_ptr(假设对象已经被释放,则返回一个空的shared_ptr)。     单纯使用shared_ptr有时会产生问题,考虑以下的代码: 1 clas...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

开发与运维

集结各类场景实战经验,助你开发运维畅行无忧

+关注
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等