# cilly-vm-cpp 重构复盘(第 1 阶段:SRP)
1. 目标与范围 这次重构只做一件事:围绕 SRP(单一职责原则),把 VM 里的“执行职责”和“统计职责”拆开。 重构范围如下: 栈组件从“带统计”改为“纯数据结构”。 VM 通过观察者发布事件,不
1. 目标与范围 这次重构只做一件事:围绕 SRP(单一职责原则),把 VM 里的“执行职责”和“统计职责”拆开。 重构范围如下: 栈组件从“带统计”改为“纯数据结构”。 VM 通过观察者发布事件,不
系统阐述了在 C++ 工程中如何通过 PIMPL 惯用法,在坚守 RAII 资源安全的前提下,有效解耦头文件依赖、提升编译效率并保持接口简洁。
1. SRP:单一职责原则 (Single Responsibility Principle) [反例] 上帝类 (God Class) 一个 VM 类既负责执行指令,又负责文件 IO,还负责格式化输
1. 观察者模式 (Observer Pattern) 核心:定义对象间的一对多依赖关系,当一个对象状态改变时,所有依赖者都会收到通知。 [场景] Excel 表格数据变化时,图表自动更新。 [C++
C++的引用看似简单,实则暗藏玄机:左值引用有“固定住址”,右值引用专收“流浪汉”,万能引用更是“变脸高手”。本文从值类别聊到引用折叠,从移动语义聊到完美转发,手把手带你拨开迷雾,写出高效又安全的代码
在我的 C++ 虚拟机项目 cilly-vm-cpp 中,垃圾回收(GC)模块经历了一次脱胎换骨的重构。从最初简单的单线程 Mark-Sweep,到引入全局锁的并行标记,再到如今借鉴工业级引擎(如 P
1. C++标准的链表节点定义 1.1 定义 Leetcode 官方使用的标准定义方式是这样的: 1.2 构造函数 在 C 语言里,内存分配和数据初始化是分离的。你用 malloc 申请了一块内存时,
这篇文章不是“虚函数基础知识”的重讲,而是我上一篇虚函数入门博客的评论区答疑与进阶复盘。 上一篇我主要做了 5 件事:先把虚函数的地图画出来,再去 VS 里看虚调用指令,再去 IDA 里把 vtabl
1. 问题描述 先简单介绍一下题目: 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例如下: 在梳理解题思路之前,我们可以先看着上面的示例简单思
搜索 C++ 引擎因高频迭代,现有回归测试存在效率与标准化不足问题。我们建设统一流量录制底座,打造可归因 DIFF 与一键压测,通过流水线将回归设为硬性准出,实现从工具集合到工程化治理的升级,保障迭代
1. 问题描述 我们首先看一下原题目: 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,
1. 题目描述 先简要介绍一下题目。 给你一个字符串数组 strs,请你将字母异位词组合在一起,可以按任意顺序返回结果列表。 通俗点讲,如果两个单词用的字母种类和数量完全一样,只是顺序打乱了,那么这两
学习通是常用的学习工具,可以随时进行学习,找到你需要的资源,跨平台就能在线学习,了解学习的进度,但是很多小伙伴找不到入口在哪,下面就分享给大家。学习通网页版登录
点击阅读