智能指针

做人不要太理性14 天前
c++·智能指针·raii·资源泄漏
【C++】指针与智慧的邂逅:C++内存管理的诗意RAII(Resource Acquisition Is Initialization)是一种广泛应用于 C++ 等编程语言中的编程范式,它的核心思想是:资源的获取和释放与对象的生命周期绑定。在 RAII 中,资源(如内存、文件句柄、网络连接等)的获取通常发生在对象的构造函数中,而资源的释放则发生在对象的析构函数中。
Mo_YuO.o1 个月前
数据库·c++·c++11·智能指针
C++---智能指针和内存泄露智能指针在<memory>头文件中。C++标准库提供了一个auto_ptr**auto_ptr提供了拷贝,但是其拷贝是 管理权转移 ** 管理权转移:把原智能指针的资源转移到要拷贝到的智能指针中去,原智能指针置为空
梦想患者2 个月前
开发语言·c++·智能指针·unique_ptr·shared_ptr·weak_ptr
浅谈智能指针工作原理(std::shared_ptr、std::unique_ptr、std::weak_ptr、std::auto_ptr)智能指针,老有人会问关于对它的认识。为了很好的回答这个问题。对智能指针 std::shared_ptr、std::unique_ptr、std::weak_ptr和 std::auto_ptr进行分析。在此做一个总结,对于智能指针的分析告一段落。
蜗牛沐雨2 个月前
开发语言·后端·rust·智能指针·裸指针
深入理解Rust中的指针:裸指针 && 智能指针Rust是一种注重安全性的系统编程语言,它通过所有权、借用和生命周期等机制来保证内存安全。在Rust中,指针的使用是小心翼翼的,因为指针操作是导致内存错误的主要原因之一。然而,指针在处理底层数据和性能优化时又是必不可少的。本文将深入探讨Rust中的指针,包括裸指针和智能指针,以及如何安全地从地址中取出值。
青草地溪水旁3 个月前
c++·智能指针
std::move小结在 C++ 中,std::move是一个极为实用的工具,它主要用于实现高效的资源转移。然而,需要明确的是,std::move并非真正地 “移动” 任何东西。实际上,它只是将一个对象的状态从一个地方转换到另一个地方,通常是将一个对象的资源所有权从一个对象转移到另一个对象,且在此过程中并不进行复制操作。从本质上来说,std::move是将一个左值转换为右值引用,以便能够调用移动构造函数或移动赋值运算符,从而实现更高效的资源管理。
小丑西瓜6663 个月前
开发语言·c++·学习·基础语法·智能指针
c++智能指针在c++里边对于内存的管理是需要程序员自己手动释放的,那为什么不像Java那样弄一个自动回收垃圾的东西呢?秉承着存在即合理的原则,c++存在没有垃圾回收这样的玩意,那肯定是为了它的运行效率,在算法竞赛中,一般c/c++时间要求是最短的。 扯远了,所以你在Java中是听不到谁在说什么智能指针的,还得是我们c++呀,c++玩家太有操作了。对于智能指针这种东西其实他是遵顼一种RAII的思想设计的。
小乌龟不会飞4 个月前
开发语言·c++·智能指针
【C++】智能指针——auto_ptr,unique_ptr,shared_ptr目录auto_ptrunique_ptrshared_ptr并发问题循环引用问题个人主页:传送门——>东洛的克莱斯韦克
遨游的laugh哥4 个月前
c++·智能指针
三种智能指针注意:如果是类的值初始化,调用类的构造函数运行结果:call()不加()效果一样: A *a = new A;
卡戎-caryon4 个月前
数据库·c++·笔记·智能指针
【C++】12.智能指针在上一篇博客【C++】11.异常中我们知道有些时候会造成内存空间的未释放从而导致内存泄漏,因此本篇博客的内容就是如何减少内存泄漏——智能指针。
我不是代码教父7 个月前
c++·windows·string·智能指针
[原创](Modern C++)现代C++的字符串与Windows API交互的正确方式.[简介] 常用网名: 猪头三 出生日期: 1981.XX.XX QQ联系: 643439947 个人网站: 80x86汇编小站 https://www.x86asm.org 编程生涯: 2001年~至今[共22年] 职业生涯: 20年 开发语言: C/C++、80x86ASM、PHP、Perl、Objective-C、Object Pascal、C#、Python 开发工具: Visual Studio、Delphi、XCode、Eclipse、C++ Builder 技能种类: 逆向 驱动 磁盘 文件
flysnow0107 个月前
开发语言·c++·智能指针
C++智能指针之唯一指针(std::unique_ptr)从C++11开始C++语言越来向现代化语言转变。尤其是智能指针的引入,代码中不会直接使用new/delete了。C++11智能指针有三种分别是:shared_ptr,weak_ptr 和unique_ptr 。
Android系统攻城狮8 个月前
智能指针·弱引用·强引用·android14·强指针·弱指针
Android14之智能指针的弱引用、强引用、弱指针、强指针用法区别及代码实例(二百零五)简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!
凌~风9 个月前
开发语言·qt·内存管理·智能指针·对象树
【QT入门】 Qt内存管理机制详解往期回顾:【QT入门】 Qt槽函数五种常用写法介绍-CSDN博客【QT入门】 Qt实现自定义信号-CSDN博客
念谨10 个月前
c++·智能指针
C++11:智能指针头文件memory名称空间 std诸如 auto_ptr 以及 C++11 新增的 shared_ptr 和 unique_ptr 等智能指针模板使得管理由 new 分配的内存更容易。它们是类。如果使用这些智能指针(而不是常规指针)来保存 new 返回的地址,则不必在以后使用删除运算符。智能指针对象过期时(即超出了类的作用域时),其析构函数将自动调用 delete 运算符,无需手动释放new出来的内存。
桐人,奥龙1 年前
c++·智能指针
智能指针——浅析本人不才,只能将智能指针介绍一下,无法结合线程进行深入探索在异常产生进行跳转时,通过栈帧回收进行内存释放,防止内存泄漏 基于RAII思想可以创建出只能指针 RAII(Resource Acquisition Is Initialization)——是一种利用对象控制空间生命周期的技术 这种技术好处就在于可以自动化的释放资源 智能指针——使用如指针,支持->和*,*针对内置数据类型,->针对自定义数据类型
炫酷的伊莉娜1 年前
c++·c++11·boost·内存泄漏·智能指针·raii·智能指针的原理
【C++】智能指针使用指针,我们没有释放,就会造成内存泄露。但是如果使用普通对象就不会。如果我们分配的动态内存都交由有生命周期的对象来处理,那么在对象过期时,让它的析构函数删除指向的内存,这看似是一个不错的方案。智能指针就是通过这个原理来解决指针自动释放的问题的。
cefler1 年前
c++·智能指针
C++【智能指针】欢迎来到Cefler的博客😁 🕌博客主页:那个传说中的man的主页 🏠个人专栏:题目解析 🌎推荐文章:题目大解析(3)
boss-dog1 年前
c++·智能指针
智能指针(Newbie Note)1.访问失败:如果一块内存被多个指针引用,但其中的一个指针释放且其余的指针并不知道,这样的情况下,就发生了访问失败。
裙下的霸气1 年前
c++·智能指针
C++智能指针内存泄漏的问题内存泄漏是指因为疏忽或错误,造成程序未能释放已经不再使用的内存的情况。执行上述代码时,如果用户输入的除数为0,那么div函数中就会抛出异常,这时程序的执行流会直接跳到主函数中的catch块中执行,最终导致func函数中申请的内存资源没有得到释放。
hhhcbw1 年前
开发语言·c++·智能指针
C++智能指针(二)——weak_ptr初探与 shared_ptr 的引入要解决普通指针存在的一些问题一样,weak_ptr 的引入,也是因为 shared_ptr 本身在某些情况下,存在一些问题或有一些不完善的地方,考虑以下两个场景: