文章 2024-06-24 来自:开发者社区

C++一分钟之-智能指针:unique_ptr与shared_ptr

智能指针是C++中用于自动管理内存的工具,它们通过模拟拥有所有权的对象来防止内存泄漏,其中unique_ptr和shared_ptr是最常用的两种类型。本文将深入探讨这两种智能指针的工作原理、应用场景、常见问题、易错点及避免策略,并通过具体代码示例加以说明。 unique_ptr与shared_ptr概览 unique_ptr unique_ptr表示独占所有权的智能指针,同一时间内只能有...

C++一分钟之-智能指针:unique_ptr与shared_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/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-05-07 来自:开发者社区

【C++入门到精通】智能指针 shared_ptr 简介及C++模拟实现 [ C++入门 ]

引言 在 C++ 动态内存管理中,除了 auto_ptr 和 unique_ptr 之外,还有一种智能指针 shared_ptr,它可以让多个指针共享同一个动态资源,并且能够自动释放资源。shared_ptr 通过引用计数的方式来管理内存,能够避免程序中出现悬空指针和内存泄漏等问题。本文将介绍 shared_ptr 的简介和使用方法,并提供一个 C++ 模拟实现,以帮助读者更好地理解其原...

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

C++智能指针 shared_ptr 精简 教程

C++智能指针 shared_ptr shared_ptr 是一个标准的共享所有权的智能指针, 允许多个指针指向同一个对象. 定义在 memory 文件中(非memory.h), 命名空间为 std. shared_ptr是Boost库所提供的一个智能指针的实现,shared_ptr就是为了解决auto_ptr在对象所有权上的局限性(auto_ptr是独占的),在使用...

C++智能指针 shared_ptr 精简 教程
文章 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++智能指针shared_ptr

C++智能指针shared_ptr学习路线:C++智能指针shared_ptr->C++智能指针unique_ptr->C++智能指针weak_ptr简介:本文讲解常用的智能指针的用法和原理,包括shared_ptr,unique_ptr,weak_ptr。shared_ptr概述shared_ptr(共享指针),对于同一个Object,共享指针会记录有多少个指针指向同一个物体,当指....

C++智能指针shared_ptr
文章 2023-12-13 来自:开发者社区

[C++] 智能指针(shared_ptr、unique_ptr)

前言       智能指针是行为类似于指针的类对象,单这种对象还有其他功能。本文介绍三个可帮助管理动态内存分配的智能指针类。先来看看需要哪些功能以及这些功能是如何实现的。请看下面的函数:void remodel(std::string & str) { std::string * ps = new std::string(str); ... ...

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

开发与运维

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

+关注