文章 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++入门 ]
文章 2023-06-20 来自:开发者社区

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)浅谈内存管理
文章 2022-02-16 来自:开发者社区

C++智能指针(auto_ptr)详解

智能指针(auto_ptr) 这个名字听起来很酷是不是?其实auto_ptr 只是C++标准库提供的一个类模板,它与传统的new/delete控制内存相比有一定优势,但也有其局限。本文总结的8个问题足以涵盖auto_ptr的大部分内容。   1. auto_ptr是什么? auto_ptr 是C++标准库提供的类模板,auto_ptr对象通过初始化指向由new创建的动态内存,它...

文章 2022-02-16 来自:开发者社区

智能指针(一):STL auto_ptr实现原理

智能指针实际上是一个类(class),里面封装了一个指针.它的用处是啥呢? 指针与内存 说到指针自然涉及到内存.我们如果是在堆栈(stack)中分配了内存,用完后由系统去负责释放.如果是自定义类型,就会自动的去调用你的析构函数. 但如果是在堆(heap)中分配了内存,也就是用malloc或者new.那只能自动手动的使用free或delete去释放.所以使用heap时处理的不好很容易出现啥内存泄.....

文章 2022-02-15 来自:开发者社区

C++智能指针auto_ptr详解

auto_ptr auto_ptr是C++标准库中()为了解决资源泄漏的问题提供的一个智能指针类模板(注意:这只是一种简单的智能指针) auto_ptr的实现原理其实就是RAII,在构造的时候获取资源,在析构的时候释放资源,并进行相关指针操作的重载,使用起来就像普通的指针。 std::auto_ptr<ClassA> pa(new ClassA); 1 1 但是由于其构造函数声明...

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