文章 2024-09-04 来自:开发者社区

C++(十八)Smart Pointer 智能指针简介

Smart Pointer 智能指针 C++作为语言层面也提供了,相应的解决方案,即智能指针,auto_ptr。虽然auto_ptr 己经 deserted 了(引自 Google C++ 编程规范),它的后继者,诸如share_ptr, weak_ptr 灵感均取自于此。 RAII Theor...

文章 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-05-07 来自:开发者社区

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

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

【C++入门到精通】智能指针 auto_ptr、unique_ptr简介及C++模拟实现 [ C++入门 ]
文章 2023-09-25 来自:开发者社区

C语言:二级指针简介

二级指针简介二级指针即为二级指针变量,用于存放一级指针变量的地址。一级指针变量是用来存放普通变量的地址(地址其实就是一些数字),一级指针变量也是一个变量,存放普通变量地址的同时自身也是有地址的。那么一级指针变量的地址就需要二级指针变量来存放。以如下代码为例,理解以下 5 点(X64系统):1. 整型变量a的地址为 0x000000b23913fbb4(地址其实就可以当做一段数字)2.  ...

C语言:二级指针简介
文章 2023-04-26 来自:开发者社区

C++智能指针简介

前言这篇文章将为大家带来智能指针,很多人都听过指针但是智能指针对于大家来说可能会很陌生。一、C语言和C++中的动态内存申请在C语言使用malloc进行动态内存的申请在C++中使用new进行动态内存的申请C语言: int *p = (int*)malloc(4); C++ int *p = new int; 在C语言和C++中使用malloc和new进行动态内存的申请,最终返回的都是指针类型。...

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

关于函数指针--简介

函数指针说白了,,,,函数的地址 现在看一个简单的--先定义一个函数指针 void (*f1)();就是这样定义--指向的是一个void类型的 假设定义了另一个 void f2(); 可以 f1 = &f2 或者 f1=f2; 直接代码了 #include<stdio.h> #include<stdlib.h> void (*f1)(); void f2(...

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

智能指针(三):unique_ptr使用简介

我们知道auto_ptr通过复制构造或者通过=赋值后,原来的auto_ptr对象就报废了.所有权转移到新的对象中去了.而通过shared_ptr可以让多个智能指针对象同时拥有某一块内存的访问权.但假如我们不希望多个内存块被多个智能指针对象共享,同时又不会像auto_ptr那样不知不觉的就让原来的auto_ptr对象失效,可咋整呢? 这个时候就要使用unique_ptr了,顾名思义嘛,unique....

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

《C和指针》一第1章 快速上手1.1 简介

本节书摘来自异步社区《C和指针》一书中的第1章,第1.1节,作者 【美】Kenneth A.Reek,更多章节内容可以访问云栖社区“异步社区”公众号查看 第1章 快速上手 C和指针 1.1 简介 从头开始介绍一门编程语言总是显得很困难,因为有许多细节还没有介绍,很难让读者在头脑中形成一幅完整的图。在本章中,我将向大家展示一个例子程序,并逐行讲解它的工作过程,试图让大家对C语言的整体有一个大概的印....

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

【C++ 语言】智能指针 引入 ( 内存泄漏 | 智能指针简介 | 简单示例 )

文章目录I . 智能指针 引入II . 智能指针 简介III . 智能指针 简单示例I . 智能指针 引入1 . 示例前提 : 定义一个 Student 类 , 之后将该类对象作为智能指针指向的对象 ;class Student { public: //构造函数 Student() { cout << "Student 对象创建" << endl; }...

【C++ 语言】智能指针 引入 ( 内存泄漏 | 智能指针简介 | 简单示例 )

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