文章 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++入门到精通】智能指针 auto_ptr、unique_ptr简介及C++模拟实现 [ C++入门 ]

引言 在 C++ 中,智能指针是一种非常重要的概念,它能够帮助我们自动管理动态分配的内存,避免出现内存泄漏等问题。在上一篇文章中,我们了解了智能指针的基本概念和原理,本篇文章将继续介绍 auto_ptr 和 unique_ptr 两种智能指针的概念及其在 C++ 中的模拟实现。通过学习这些内容,您将更好地理解智能指针的不同类型和使用场景,进一步提高程序的安全性和可靠性。让我们一起探索C+...

【C++入门到精通】智能指针 auto_ptr、unique_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++智能指针unique_ptr

$stringUtil.substring( $!{XssContent1.description},200)...

文章 2023-12-13 来自:开发者社区

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

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

文章 2023-09-03 来自:开发者社区

探究C++11智能指针之std::unique_ptr

背景谈起C++,它被公认为最难学的编程语言之一,不仅语法知识点广泛,细节内容之多,学习难度和学习周期也长,导致好多新入行的开发者对C++“敬而远之”,甚至“从入门到放弃”。自C++11开始,好多C++程序员慢慢的感受到了C+&#...

探究C++11智能指针之std::unique_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...

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

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

开发与运维

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

+关注