自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

m0_43405630的博客

日拱一卒,功不唐捐!

  • 博客(17)
  • 收藏
  • 关注

原创 C++ 开闭原则

这意味着当需求变化时,应通过新增代码(如新增类或方法)来扩展功能,而非直接修改现有代码,从而降低维护成本并提高系统稳定性。以下是一个计算器程序的改进案例,展示了如何从违反开闭原则的设计改进为符合原则的设计。定义运算接口,具体运算由派生类实现。新增运算时,仅需新增派生类,无需修改现有代码。通过这种设计,系统能够灵活应对需求变化,同时保持代码的稳定性和可维护性。原始计算器类直接通过条件判断处理不同运算,新增运算需修改。方法,可能引入错误,且需重新测试所有分支。方法,违反开闭原则。

2025-11-28 09:59:29 258

原创 C++ 模拟基于 IPC(进程间通信)的诊断服务系统

用C++ 代码模拟了一个 基于 IPC(进程间通信)的诊断服务系统(SDM - Service Diagnostic Module),其结构清晰、模块化良好,使用了现代 C++ 的特性(如 unique_ptr、function、bind 等),并体现了典型的 服务器-客户端模型。

2025-11-24 17:29:09 636

原创 什么是冒烟测试?

冒烟测试的核心就是快速验证软件最基础、最核心的功能是否能跑通,就像检查新买的电器插电后会不会“冒烟”(出故障)一样。它的本质是**“门禁测试”**,目的是在投入大量时间做详细测试前,先过滤掉那些严重到根本无法使用的问题,避免浪费资源。

2025-11-21 13:49:43 260

原创 C++ 非模板的右值引用

特性非模板右值引用 (Type&&模板万能引用 (T&&本质将对象转为右值引用的函数直接声明的右值引用依赖类型推导的右值引用值类别右值 (xvalue)右值引用类型可能是左值/右值引用(自动推导)绑定对象无(返回新引用)只能绑定右值可绑定左值或右值典型用途触发移动语义移动构造/赋值的参数完美转发、泛型代码→ 把x变成右值(告诉编译器:“可移动我”)。Type&&→ 只能接右值的"专属通道"。模板T&&→ 智能通道(左值/右值都能进,自动识别)。

2025-11-20 23:00:23 283

原创 C++ 使用std::function和bind将一个强耦合的系统设计转变为松耦合的系统设计

这段代码展示了如何通过回调机制(特别是C++中的std::function)将一个强耦合的系统设计转变为松耦合的、更灵活的设计。

2025-11-19 15:21:23 583

原创 C语言实现线程池的疑问

问题回答只读busyNumliveNum需要加锁吗?需要!不加锁会怎样?数据竞争 → 未定义行为(可能读错、死循环、崩溃)volatile能替代锁吗?不能!加锁只是为了互斥吗?不,还为了内存可见性和禁止重排序💡黄金法则任何被多个线程共享的变量,只要有一个线程写,所有读写操作都必须通过同步机制保护。不仅是正确的,而且是必须的!问题解释为什么 Core1 可能读到旧值?因为 Core0 的修改还在自己的缓存中,未同步到主存或其他核心缓存;且编译器可能优化掉重复读取。MESI 协议不能解决吗?

2025-11-16 20:11:56 854

原创 基于C语言实现的线程池

这是基于C语言实现的线程池,包含头文件、源文件和测试主程序。

2025-11-16 19:17:52 825

原创 C++ std::enable_shared_from_this<T>的作用

std::enable_shared_from_this<T>的作用及代码举例

2025-11-11 18:21:04 260

原创 C++ 互斥锁、条件变量和信号量

C++ 互斥锁和条件变量以及信号量的作用

2025-11-09 19:22:25 1020

原创 C++ 工厂模式

工厂模式的应用

2025-11-06 12:00:37 893

原创 C++ 通用引用&&的用法和误区

通用引用&&的用法与误区

2025-11-03 15:06:09 659

原创 右值引用的作用和误区

右值引用的作用和误区

2025-10-30 11:16:54 545

原创 函数指针与函数对象

函数指针与函数对象的应用

2025-10-28 15:45:03 923

原创 C++ 回调函数

C++中使用回调函数的优点

2025-10-28 14:31:28 214

原创 C++17新特性 std::optional 使用详解

摘要:C++17引入的std::optional提供了一种安全的方式表示可能存在的值,替代了传统的空指针用法。它通过显式处理"无值"状态,强制开发者检查值是否存在,避免空指针异常。主要特性包括:创建可能包含值的对象、判断值是否存在、安全取值(value()/value_or())、以及在函数中返回可能失败的结果。典型应用场景包括查找函数、解析操作等可能返回无效结果的情况,使代码更安全可靠。

2025-07-17 20:40:11 283

原创 2021-02-22 力扣70题 爬楼梯

1. 题目链接https://leetcode-cn.com/problems/climbing-stairs/2. 代码

2021-02-22 16:37:29 513

原创 2021-02-21 力扣461题 汉明距离

力扣461题 汉明距离汉明距离:以理查德·卫斯里·汉明的名字命名的。在信息论中,两个等长字符串之间的汉明距离是两个字符串对应位置的不同字符的个数。换句话说,它就是将一个字符串变换成另外一个字符串所需要替换的字符个数。解题思路:x,y先进行一次异或(^)运算得值val,从而使得值val包含的x,y的所有位的1,当val不为0时,让val与1进行与(&)运算,从而得出1的个数,然后用count统计1的个数,然后再对val进行右移(>>)运算,清除二进制位最后一位已经统计过的1,当v

2021-02-21 19:58:22 1137 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除