logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Re:思考·重建·记录 现代C++ C++11篇(六) 从 shared_ptr 到 weak_ptr:起底智能指针的引用计数与循环引用之痛

本文介绍了现代C++中智能指针的设计原理与应用。首先通过一个内存泄漏的例子引出智能指针的必要性,分析了传统手动管理资源的缺陷。然后详细讲解了RAII(资源获取即初始化)设计思想,即通过对象生命周期自动管理资源释放。接着以自定义SmartPtr类为例,展示了智能指针如何封装资源并重载运算符来模拟指针行为。文章还回顾了C++标准库中智能指针的历史演进,重点讨论了auto_ptr的拷贝问题及其解决方案。

文章图片
#c++#开发语言
Re:从零开始的 C++ 进阶篇(四)工业级 C++ 编程:如何构建异常安全的健壮系统?(含案例分析)

C++异常处理机制解析 本文深入探讨了C++异常处理机制的核心原理和工程实践。异常处理通过抛出对象实现错误通信,将问题检测与解决过程分离。异常抛出后,程序会沿着调用链查找匹配的catch子句(栈展开),未捕获则终止程序。关键点包括: 抛出异常会生成对象拷贝,就近匹配catch类型 异常抛出后到捕获前的代码全部失效,但栈帧会正常销毁 异常安全需要配合RAII机制防止资源泄漏 main函数应使用cat

文章图片
#c++#安全#运维 +1
Re:Linux系统篇(一)从浅谈操作系统历史背景到安装部署云服务器

Linux操作系统入门指南:从历史到实践 本文系统介绍了Linux操作系统的发展历程与应用实践。首先回顾计算机发展史,从埃尼阿克到摩尔定律驱动的PC革命,引出Unix系统的诞生及其对Linux的影响。重点解析Linux作为开源操作系统的优势:安全性、稳定性和企业级应用价值,对比闭源系统的差异。文章提供Linux版本选择建议(Ubuntu/CentOS)和源码查看方式,并详细指导环境搭建方案,推荐学

文章图片
#服务器#linux#运维
深度解剖之函数栈帧的创建和销毁原理(上)

博主小此方在CSDN博客中详细解析了函数调用过程中栈帧的创建机制。文章以VS2013编译器为例,通过反汇编代码展示了main函数栈帧的开辟过程,包括压栈、寄存器操作和内存初始化等步骤。重点解释了局部变量未初始化时出现"烫烫烫"乱码的原因(内存被初始化为0xCC),并介绍了esp、ebp等关键寄存器在维护栈帧中的作用。文章还简要提及了main函数并非程序真正起点的事实。这篇技术文

文章图片
#开发语言
Re:从零开始的 C++ STL篇(十一)map/set使用精讲:常见问题与典型用法(下)

摘要 本文介绍了C++中map和set两种关联式容器的基本使用。主要内容包括: map容器原型:详细解析了map的模板参数声明,包括键值类型、比较函数和内存分配器,并指出map底层采用红黑树实现,具有O(logN)的查询效率。 pair类补充:说明map使用pair结构存储键值对,介绍了pair的基本结构和make_pair工具函数。 map接口介绍: 构造函数:无参构造、迭代器区间构造、拷贝构造

文章图片
#c++#数据结构#算法 +1
Re:从零开始的 C++ STL篇(九)AVL树太“较真”,红黑树更“现实”:一文讲透工程中的平衡之道

本文围绕红黑树插入操作的调整过程展开,重点分析在插入新节点后可能出现的三类典型情况:叔节点为红的变色情况,以及叔节点为黑时对应的单旋与双旋调整。通过对不同结构(直线型与折线型)的分类讨论,结合黑高变化与红红冲突的消除过程,逐步推导出各类操作的必要性与正确性。同时,引入抽象子树模型,对不同黑高(bh)下的情况进行统一描述,从本质上解释红黑树能够在保证平衡的同时维持较高性能的原因。本文不仅关注操作步骤

文章图片
#c++#开发语言#数据结构 +1
Re:从零开始的 C++ 入門篇(十一):全站最全面的C/C++内存管理的底层剖析与硬核指南

《C/C++内存管理深度解析》摘要 本文系统讲解了C/C++内存管理机制。C语言部分详细介绍了malloc、calloc、realloc和free的使用方法及常见错误。C++部分重点分析了new/delete操作符,包括其底层实现原理(operator new/delete)、自定义类型的构造/析构调用机制,以及内存分配失败的异常处理。文章通过汇编代码展示了底层调用过程,对比了malloc/fre

文章图片
#c++#开发语言#后端 +1
深度解剖之函数栈帧的创建和销毁原理(上)

博主小此方在CSDN博客中详细解析了函数调用过程中栈帧的创建机制。文章以VS2013编译器为例,通过反汇编代码展示了main函数栈帧的开辟过程,包括压栈、寄存器操作和内存初始化等步骤。重点解释了局部变量未初始化时出现"烫烫烫"乱码的原因(内存被初始化为0xCC),并介绍了esp、ebp等关键寄存器在维护栈帧中的作用。文章还简要提及了main函数并非程序真正起点的事实。这篇技术文

文章图片
#开发语言
到底了