Liuyi Wen's Blog
搜索

Liuyi Wen's Blog

C++面向对象程序设计
发表于2025-03-21
本篇隶属C++ Primer中类设计工具专题,当前集中于面向对象程序设计。 什么是面向对象编程? 在面向对象编程(缩写为OOP)中,重点是创建程序定义的数据类型,这些数据类型既包含属性,也包含一组定义明确的行为。OOP中的“对象”一词,是指我们可以从此类类型中实例化的对象。 面向对象编程的核心理念是:数据抽象,继承和动态绑定。 继承 概述 基类:位于层次关系中的根部,定义所有类共同的成员变量和成员函数; 派生类:通过继承自动接收基类的成员函数和成员变量;可添加想要的其他函数或成员变量。 类派生列表:明确指出当前派生类是从哪个基类继承而来,示例: 1234class Bulk_Quote : public Quote{ // Bulk_Quote继承Quote public: double net_price() const override;} 定义基类和派生类 定义基类 12345678910111213141516class Quote{public: Quote()=default; Quote(cosn std::string...
BUAA-OS Lab1 实验笔记
发表于2025-03-18|OS
总前言 操作系统是大二下学期的一门核心专业课,实验部分分为6个实验(Lab1 ~ Lab6)。采用增量式实验设计思想,每个实验包含的内核代码量在几百行左右,并提供了代码框架和代码示例,要求阅读源码、理解机制并补全核心代码。每个实验可以独立运行和评测,最后实现一个可以在MIPS平台上运行的小型操作系统。以此专题,纪念大二下的每个“备受折磨”的日夜,重温操作系统的核心理念。 实验代码仓库位于OS_on_MIPS. 总流程:实验编写的操作系统代码在Linux系统中,通过Makefile组织,通过交叉编译产生可执行文件;再使用QEMU模拟器运行该可执行文件,实现MOS操作系统的运行。 内核与启动 内核是操作系统最核心的部分,负责与硬件直接交互,并为用户进程提供服务。在计算机启动时,内核需要被加载到内存中,但不宜放在磁盘(CPU无法直接从磁盘访问数据)或内存(易失性)中,因此放在一个非易失性存储器中(如ROM或FLASH)。不过,将操作系统直接放入ROM或FLASH会面临以下几个问题: 1. 存储空间限制: ROM或FLASH的存储空间有限,无法存放较大的内核;...
C++标准库:容器、动态内存、同步原语
发表于2025-03-17
接上一篇知识。 C++标准库容器 std::vector std::vector 是一种动态数组,可以根据需要自动调整大小,能够存储任意类型的元素。 向向量中添加元素 push_back 和 emplace_back 都用于向向量中添加元素。 emplace_back 通常比 push_back 更高效,因为它直接在内存中创建元素,而不需要先构造一个临时对象然后再移动。 12point_vector.push_back(Point(35, 36)); // 使用 push_back 添加元素point_vector.emplace_back(37, 38); // 使用 emplace_back 添加元素 遍历向量 直接/用下标遍历元素 12345std::cout << "Printing the items in point_vector:\n";for (size_t i = 0; i < point_vector.size(); ++i) { ...
Hello,world!C++中的引用、移动语义、模板、包装类、迭代器和命名空间
发表于2025-03-17
前言 Hello,world!今天是2025年3月12日,这是本站的第一篇博客,也是我重新踏上自学CS之路的起点! 回想已流逝的两年半多本科时光,很多课程因为时间紧、任务重,学得像个“快餐式”程序员——知识点匆匆下肚,消化得却不咋样;ppt上的知识点背了一打,实践起来“一问三不知”。猛然发现,自己像个“半成品”,代码写得像“面条”,bug多得像“打地鼠”。 恰逢找到第一个日常实习,初尝真实的工作环境。实习之余决定重启学习,重新修炼“代码内功”。 从哪里开始呢?第一站是C++的基本语法。之前刷算法题时用过C++,每次没有类、没有封装、没有 unit test、没有 Makefile、没有 Git,唯一的优点是它确实能跑,缺点是“能跑”的补集;大三上做过一个4000行代码的Qt小项目,实现简单图像识别与参量的自动化计算(可见:https://github.com/WenLiuyi/fiber_Analysis )现已经成功打包成exe文件,可在Windows系统执行。但那过程简直像“渡劫”——装了几十个 G 的 Visual...
1…45
avatar
Liuyi Wen
文章
44
标签
5
分类
9
Follow Me
公告
The Journey Is the Reward.
最新文章
深入 Parquet:从 Dremel 论文到列式存储的工程权衡2025-09-30
Transformer 系列:3. Encoder 和 Decoder 的架构2025-09-29
幂等性设计2025-09-28
从 TCP 粘包到分帧2025-09-26
并行训练系列:5. Megatron 之分布式环境初始化2025-09-25
分类
  • Database6
  • Distributed System1
  • High Concurrency2
  • Network1
  • OS3
  • Parallelism6
  • RL2
  • Transformer4
标签
Go C++ Web Platforms Display OOP KV Cache
归档
  • 九月 2025 11
  • 七月 2025 5
  • 六月 2025 1
  • 五月 2025 4
  • 四月 2025 7
  • 三月 2025 16
网站信息
文章数目 :
44
本站访客数 :
本站总浏览量 :
最后更新时间 :
©2019 - 2025 By Liuyi Wen
框架 Hexo 7.3.0|主题 Butterfly 5.3.5
搜索