海上月
RAII的实现原理 RAII的实现原理
RAII的实现原理概念介绍RAII 可以简单理解为:资源的获取(申请)和对象的初始化绑定,资源的释放和对象的销毁绑定。 当创建一个对象时(栈上 / 作用域内),在构造函数中申请资源(比如内存、文件句柄、锁、网络连接); 当对象离开作用域(
2026-01-26
字符串处理解析 字符串处理解析
C++字符串处理全解析:从底层原理到实战选型 本文梳理了C++字符串相关的核心问题,包括C/C++字符串类型差异、C++标准演进、内存模型、核心函数原理等,覆盖 char*/const char*/std::string/std::stri
2026-01-23
深入理解C++内联函数 深入理解C++内联函数
深入理解C++内联函数:特性、差异、编译机制及实战问题在C++开发中,内联函数(inline function)是一个看似简单却暗藏诸多细节的知识点,涉及编译原理、内存优化、调试排查等多个维度。本文将结合之前探讨的核心问题,从基础特性到进阶
2026-01-22
工厂模式 工厂模式
工厂模式前言在我实现工厂模式的代码时,我遇到了实现这个模型的一些问题,并且继续深究之后,发现理论与实际的基础都缺乏,并因此记录下这次完整的学习过程。 工厂模式封装创建类的过程,使用统一的接口来实例化不同的产品类,符合开放封闭的原则(对接口开
2026-01-17
从编译期解析程序内存布局 从编译期解析程序内存布局
从编译期解析程序内存布局前言理解C++程序的内存布局是掌握底层原理的核心,我以一段简单的main程序为例,拆解程序运行期间的内存分区、变量/字符串的存储位置,以及从编译到运行程序,如何精准访问变量的完整过程。 程序: #include &l
2026-01-17
深拷贝和浅拷贝的再次辨析 深拷贝和浅拷贝的再次辨析
深拷贝和浅拷贝的再次辨析最近发现,以前学过的很多C++深层类和对象的特性又逐渐的消失在记忆中,代码能力非常的弱,所以想要自己实现一个资源管理的类(如String)。 本文记录我实现String类过程中的真实问题,从而对深拷贝和浅拷贝进行一次
2026-01-09
CPP 的this指针辨析 CPP 的this指针辨析
C++ 的 this 指针指针在这里面是非常难理解的东西,所以要根据例子,自己实践。在你没有去具体了解之前,不要轻易下结论。最近,看了《在山的那边》,又有一点新感悟( •̀ ω •́ )✧ this指针调用成员函数时,成员函数通过一个名为
2024-12-19
C++内存布局以及常用关键字 C++内存布局以及常用关键字
C++内存布局以及常用关键字C++的内存空间代码存储区域:常量区、代码区、静态区(全局区)、堆区、栈区 栈区向下增长,堆区向上增长。栈由系统管理,没有内存碎片,每个元素之间都是连续的,大小比较小,8k,可以修改系统参数,堆区存储动态开辟
2024-12-05
C++的智能指针 C++的智能指针
C++的智能指针前言C++STL(Standard Template Library)一共提供了四种指针:auto_ptr、unique_ptr、shared_ptr 和 weak_ptr,其中auto_ptr是c++98提供的,C++
2024-11-30
c++中string底层实现之SSO c++中string底层实现之SSO
string底层实现之SSOstring的构造函数 参考资料 Simple String Optimization,最小字符串优化,基本原理是:当分配的字节数小于16字节的时候,直接从栈上进行进行内存分配,如果大于16字节,则在堆上进行
2024-11-01
1 / 4