智能指针

炘爚2 天前
c++·智能指针
智能指针:共享型shared_ptr的底层逻辑成员:必须实现的接口:内部三个成员:必须实现的成员函数:1. 构造相关2. 拷贝 / 移动语义3. 核心功能接口
Byte不洛17 天前
c++·智能指针·raii·unique_ptr·shared_ptr·auto_ptr
深入理解C++智能指针:从RAII到shared_ptr在上一篇博客中,我们了解到由于C++异常机制的特性,可能会在我们无意之间就是造成内存泄漏的问题,就比如我们通过new和delete申请和释放内存的时候,new和delete在申请和释放失败的时候就会抛异常,就会导致我们在这之前正常申请的内存,由于执行流的跳跃,导致没有执行释放内存的代码,进而使得程序造成内存泄漏。
CoderMeijun1 个月前
c++·内存管理·智能指针·raii·auto_ptr
C++ 智能指针:auto_ptr内存泄漏是指程序中已分配的堆内存,由于未释放或无法释放,导致内存无法被重复使用,最终引发程序变慢、系统资源耗尽甚至崩溃。
是个西兰花1 个月前
开发语言·c++·智能指针·rall
C++11:智能指针问题分析:上面的问题分析出来我们发现有什么问题?如果p1抛异常无影响,p2抛异常就无法释放p1,div抛异常无法释放p1,p2,因此catch异常时要分很多种情况。如果申请的空间更多,那情况会更复杂。
极客智造1 个月前
c++·智能指针
深入详解 C++ 智能指针:RAII 原理、分类特性、底层机制与工程实战在 C++ 原生开发中,动态内存通过 new/malloc 申请、delete/free 手动释放,这种裸指针管理模式长期存在三大致命问题:内存泄漏、野指针 / 悬空指针、重复释放崩溃。尤其在复杂业务逻辑、分支嵌套、异常抛出场景下,手动保证内存成对释放几乎无法长期维护。
2301_789015622 个月前
c语言·开发语言·汇编·c++·智能指针
C++:智能指针我的博客:<但愿.我的专栏:C语言、题目精讲、算法与数据结构、C++欢迎点赞,关注目录前言一 RAII和智能指针的设计思路
kpl_202 个月前
c++·c++11·智能指针
智能指针(C++)我在之前的博客介绍了异常(见到认识就行),用于处理一些函数内无法处理的问题,但是它会导致执行流乱跳。所以也就可能会导致内存泄漏等内存管理问题。 eg:抛出异常之后,无法delete,导致内存泄漏
知无不研2 个月前
开发语言·c++·智能指针·raii·垃圾回收机制
c++垃圾回收机制C++作为一种高性能、系统级编程语言,其内存管理机制与大多数现代编程语言存在显著差异。与Java、Python等语言不同,标准C++并未提供内置的垃圾回收机制 ,而是通过智能指针和RAII技术等替代方案实现自动内存管理。本文将深入分析C++不采用垃圾回收的设计理念,探讨智能指针和RAII技术的实现原理与应用,以及第三方垃圾回收库的实现方式与适用场景,为C++开发者提供全面的内存管理视角。
消失的旧时光-19433 个月前
c++·智能指针
智能指针(二):机制篇 —— 移动语义与所有权转移关键词:右值引用、移动构造、std::move、Rule of Five、noexcept、unique_ptr 适合人群:已经理解智能指针存在意义,想深入理解“所有权如何被转移”的开发者
_风华ts3 个月前
c++·智能指针
C++智能指针指针指向某块内存区域,使用普通指针会导致一些程序错误内存泄漏:如果指针指向的内存是动态分配的,那么即使指针离开了作用域,动态分配的内存也不会自动释放,如果动态分配的内存不手动释放,则会导致内存泄漏 悬空指针:如果指针指向一个已经被释放的内存区域,那么这个指针就是悬空指针,使用悬空指针会导致不可预料的结果 野指针:定义了一个指针,却未初始化指向一个有效的内存区域,这个指针就成了野指针,使用野指针访问内存,一般会导致segmentation fault错误
MSTcheng.4 个月前
开发语言·c++·智能指针
【C++】C++智能指针前言在上一篇文章中我们向大家介绍了异常,对于异常中忽略资源释放的情况就需要智能指针来解决。所以本篇文章我们来重点介绍一下智能指针。
charlee444 个月前
c++·智能指针·raii·pimpl·编译防火墙·封装设计
为什么现代 C++ 库都用 PIMPL?一场关于封装、依赖与安全的演进在 C++ 的工程实践中,如何在保证资源安全管理的同时,又避免头文件污染和不必要的编译依赖?这个问题贯穿了现代 C++ 库设计的核心。本文将沿着一条清晰的技术演进路径,探讨从 RAII 封装出发,历经值语义、裸指针、智能指针等阶段,最终走向 PIMPL(Pointer to Implementation) 这一成熟且优雅的解决方案。
一匹电信狗4 个月前
开发语言·c++·系统架构·学习笔记·c++11·智能指针·新特性
【C++】CPU的局部性原理有梦想的电信狗在实际编程中,我们常会发现: 逻辑相同的代码,仅仅改变数据访问顺序,性能却可能相差数倍。
程序喵大人4 个月前
开发语言·c++·智能指针
手写一个智能指针:从 unique_ptr 到 shared_ptr 的引用计数原理博主介绍:程序喵大人C++ 内存管理的噩梦始于 new/delete 的手动配对,止于智能指针的自动化革新。从 RAII(资源获取即初始化)的核心理念,到 unique_ptr 的独占所有权,再到 shared_ptr 的引用计数共享机制,智能指针体系不仅解决了内存泄漏和悬空指针的顽疾,更通过类型系统明确了资源所有权语义。本文将深入剖析智能指针的实现原理,手写核心代码,助你彻底掌握这一现代 C++ 基石技术。
charlee444 个月前
c++·智能指针·tokenizer·ffi·raii
C++ 封装 C FFI 接口最佳实践:以 Hugging Face Tokenizer 为例在现代 AI 工程中,Hugging Face 的 tokenizers 库已成为分词器的事实标准。不过 Hugging Face 的 tokenizers 是用 Rust 来实现的,官方只提供了 python 和 node 的绑定实现。要实现与 Hugging Face tokenizers 相同的行为,最好的办法就是自己封装 Hugging Face tokenizers 的 C 绑定,从而可以被 C++ / C# / Java 这些高级编程语言调用。
White_Can5 个月前
c++·c++11·智能指针
《C++11:智能指针》[作者的个人Gitee>🌟](友人A (friend-a188881041351) - Gitee.com)🌟
BestOrNothing_20155 个月前
c++·内存管理·智能指针·裸指针·对象生命周期
C++ 智能指针(末):new vs unique_ptr 终极对比 + “指针成员到底是不是创建对象”一次讲透目录一、前言二、结论先行三、传统 new/delete 写法(下篇问题源头)3.1 表面上没问题(“工程幻觉”)
Trouvaille ~5 个月前
服务器·c++·stl·资源管理·智能指针·编程规范·raii
【C++篇】智能指针详解(二):原理剖析与高级话题💬 欢迎讨论:本文是C++智能指针系列的第二篇,将深入剖析智能指针的实现原理,并探讨循环引用、线程安全等高级话题。如果你在学习过程中有任何疑问,欢迎在评论区留言交流!