自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 基于Linux的多文件实时同步程序

基于Linux的多文件实时同步系统

2025-12-02 23:14:03 97

原创 Windows核心编程_内核对象

windows核心编程_内核对象:概念、引用计数、安全控制、创建、关闭、跨进程边界共享、名字空间

2025-08-31 18:01:20 379 1

原创 C++:异常

异常是一种处理程序运行时错误或者意外情况的机制,允许程序在遇到问题时跳出当前执行流程,并通过特定的异常处理代码处理该异常。有3部分组成:①try(检查)②throw(抛出)③catch(捕获)(3)捕获(catch)捕获的是异常类对象,负责处理异常。(1)检查(try) 检查的是可能出错的代码。(2)抛出(throw) 抛出的是异常类对象。

2025-08-08 13:56:28 523

原创 C++:多态(virtual)

(6)动态绑定:又称运行时绑定,是C++多态的核心机制,指在程序运行时(而非编译时)确定调用的具体函数版本。作用:使用虚继承后,A、B、C共享同一份A实例的成员,通过D d更新成员的值后,A、B、C访问到的成员也会同步更新,可以解决菱形继承中数据访问二义性的问题。(5)虚基类:在多重继承中通过virtual继承的基类,解决菱形继承中成员冗余和二义性的问题。(3)父类的引用(指针)指向子类对象(上段代码中的 “fun(A &obj)”)(1)必须有继承关系(如上段代码中的 B 类继承于 A 类)

2025-08-07 17:10:51 1062

原创 C++:继承

要解决这个问题,需要结合虚函数的知识点才能解释清除,明天就会更新虚函数的内容。在设计类别边界不明确或者需要继承多个父类的类时通常需要思考这个问题。一个类通过某种方式获得另一个类的属性和方法的机制叫做继承。例如:狼人像人,狼人也像狼。(一个类通过继承可以获得另一个类的属性和方法)。如果父类是一个模板类,其子类也必须是一个模板类。同一个功能的具体实现的选择方式的思考。,并在此基础上扩展自己的属性和方法。在装配各种类时,需要思考这个问题。例:(沿用(1)中类的设定)(2)给父类的父类传参。

2025-08-06 18:02:04 944

原创 C++:函数/类模板_泛型编程

说明:如果一个模板类中想要引入友元函数,且该函数需要该模板类的对象作为参数,这个友元函数也需要是一个模板函数。模板是一种预先设计好的框架,通过用可变数据(类型)填充其不变模式的方式快速创建具有相同功能或结构的函数、类。_size 在类中可以直接使用,可以理解为专属于该类的宏定义。_size 的值可以在定义对象时在<>中定义。

2025-08-05 17:23:10 452

原创 项目学习:cJSON解析_长期更新

2025/8/4:

2025-08-05 00:00:47 432

原创 C++:运算符重载

由于输入(cin >> )、输出时(cout << ),左操作数和右操作数位置固定(都在左边)。所以两个位运算符( “<<” 和 “>>” )常以全局函数方式重载。区别:后置运算符自增需要在参数列表中添加一个整型参数来标识,以此区分前置重载和后置重载。增加原本的运算符的功能,以适配用户需要的情景。运算符重载的本质是函数重载。递减运算符重载也是一样的。

2025-08-04 15:52:35 548

原创 线程池-C语言实现

线程池是一种根据任务数量自动维护线程数量的机制,开辟和销毁线程依据一定规则自动进行,用户只需要将任务添加到线程池的任务队列中,线程池会自动将该任务放在某一个线程中执行。这是一片学习笔记,学习自大丙老师的博客。我在看完博客之后动手实现了一遍,原博客和代码链接在下方。线程池分为两个数据结构(任务数据结构、线程池数据结构)和三个功能模块(生产者、消费者、管理者)。=> 在 “Cpp/MyUtils/Thread-Pool/BasedOnC” 目录下。

2025-08-03 10:34:22 718

原创 C++:类与对象

对象是某个类中的具体实体,例如男人是人类这个抽象概念的具体对象,具有人类的共有属性(身高、年龄 、性别)和方法(吃、喝、说、走)。类是对现实世界中各种相关实体概念的抽象,例如:世界上有男人、女人、老人、小孩,他(她)们都被抽象为人类这个概念。当对象创建时,类中会生成一个this指针,该指针指向其所属对象的首地址。2. 析构函数会在每个类中被自动创建,只不过默认创建的析构函数参数列表和函数内容都为空。构造函数和析构函数都是类中的特数成员函数。在类中声明成员函数,在类外实现这些函数。3. 析构函数不能重载。

2025-07-31 17:14:51 854

原创 内存分区最细颗粒度划分

芯片级别划分操作系统级划分。

2025-07-31 13:05:05 444

原创 C++:C++与C的区别

的具体定义,举例:房间A有个小帅,房间B也有一个小帅,当我们要找房间A中的小帅时,需要这样声明:A::小帅。功能描述: 程序编译过程中将内联函数中的代码拷贝到该函数被调用的地方,程序执行时就不需要经历该函数的调用过程。在C++中,空指针最好用“nullptr”初始化,而不是用“NULL”,因为NULL大多数情况下被定义为 0。给变量取别名,引用变量和原变量的地址相同,对引用的操作会改变原变量的值(都是对同一块内存的操作)空连接:既不能在文件之间共享,也不能在一个文件中的函数之间共享。强制类型转换一般不用。

2025-07-31 09:25:05 378

原创 Linux常用命令

2025-2-9

2025-02-09 23:11:24 1528

原创 基础CMake项目构建办法

添加自定义宏来控制程序的编译结果add_definitions(-D"宏的名称") # 可添加多个宏,每个宏之前都要加上"-D",宏之间用空格隔开原始程序添加了自定义宏的程序。

2025-02-02 01:03:16 785

原创 CMake最基础使用(学习笔记)

add是将要构建的可执行程序名称, add.cpp是源文件名称,有多个源文件可以用 “空格” 或者 “;1.4 创建构建目录并构建MakeFile、编译。1.1 创建CMakeLists.txt。1.3 最基础的三个命令。# cmake最低版本。

2025-02-01 16:31:55 424 1

空空如也

空空如也

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

TA关注的人

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