- 博客(11)
- 收藏
- 关注
原创 进程间通信
我们把从⼀个进程连接到另⼀个进程的⼀个数据流称为⼀个“管道”比如:管道通信的5种特性:1.匿名管道只能父子进程进行通信(一般是父子,因为如果子进程间通信会很麻烦,不如命名管道以及共享内存舒服)2.管道通信是面向字节流的3.管道文件自带同步机制写慢,读快----如果写端没有内容,那么读端就会阻塞,等待写端写入写快,读慢----如果管道满了的时候,写端就会进入阻塞状态,等待读端读取完毕写关,读继续----read就会返回0,表示文件结尾。
2025-11-19 18:40:17
811
原创 c++之多态篇
1.存在一个继承 hierarchy(层级结构),即父类和子类,子类对父类中定义的某些方法提供了自己的、不同的实现(即方法重写)2.必须通过基类的指针或者引用调用虚函数,因为只有基类的指针或引用才能既指向基类 对象又指向派⽣类对象(继承文章有提到)3.被调用的函数必须是虚函数,且派生类必须对基类的虚函数进行重写。
2025-11-08 17:20:40
796
原创 C++之继承---“继承遗产、创建别的产业公司”
本文系统介绍了面向对象编程中的继承机制。主要内容包括:1. 继承的基本概念,通过派生类复用基类代码,并详细说明了三种继承方式及其访问权限影响;2. 基类和派生类对象间的赋值转换规则,包括"切片"现象;3. 继承中的作用域问题,特别是同名成员的隐藏规则;4. 派生类构造/析构函数的调用顺序及注意事项;5. 友元和静态成员在继承中的特性;6. 重点分析了单继承、多继承和菱形继承问题,提出通过虚继承解决二义性;7. 最后比较了继承(is-a)和组合(has-a)的关系,建议优先使用组合降低耦合
2025-10-12 14:16:37
719
原创 c++模板知识
C++模板分为函数模板和类模板,它们类似于模具,能根据不同类型生成特定版本的函数或类。函数模板通过隐式或显式实例化自动推导类型,遵循优先匹配非模板函数的原则。类模板实例化时需要指定具体类型,支持全特化和偏特化。模板分离编译时可能出现链接错误,解决方法包括将定义放在头文件或进行显式实例化。模板特化(如函数模板特化和类模板全/偏特化)可用于特殊类型的定制处理。非类型模板参数允许使用常量值作为模板参数。
2025-10-10 18:47:54
846
原创 类与对象c++
比如:入学时填写的学生信息表,表格就可以看成是一个类,来描述具体学生信息。2、一个类可以实例化出多个对象,实例化出的对象 占用实际的物理空间,存储类成员变量。3、做个比方。类实例化出对象就像现实中使用建筑设计图建造出房子,
2025-10-03 15:34:06
598
原创 进程的概念
本文系统介绍了计算机进程相关知识,主要包括:1. 冯诺依曼体系结构及计算机硬件组成;2. 操作系统的核心功能和管理方式;3. 进程概念、状态及控制块(PCB);4. 进程创建(fork)、终止和等待(waitpid)机制;5. 进程地址空间和写时复制技术;6. 进程程序替换原理及函数接口;7. 简易shell的实现原理。文章通过代码示例和图示详细说明了进程管理的核心概念,包括父子进程关系、状态转换、地址空间映射等关键知识点,为理解操作系统进程管理提供了基础框架。
2025-09-24 15:34:12
895
原创 Linux文件权限理解
摘要: 文件权限通过角色(拥有者、所属组、其他用户)和属性(读r、写w、执行x)控制访问。权限由ll命令显示的10字符标识:首字符区分文件类型(如-普通文件,d目录),后9字符分三组对应角色权限。操作权限使用chmod(符号模式如u+x或数字模式如755),修改角色用chown/chgrp。umask决定新建文件/目录的默认权限(如022屏蔽组和其他用户的写权限)。粘滞位(如/tmp的t权限)限制目录内文件仅所有者、目录所有者或root可删除,确保共享目录安全。权限管理保障了系统安全与协作效率。
2025-08-25 20:29:51
1106
原创 Linux下的一些基本指令
绝对路径 (Absolute Path)定义: 从文件系统的根目录 (Root Directory) 开始,一路指向目标文件或目录的完整路径。它描述了文件或目录在文件系统层次结构中的绝对位置。特点:以根目录符号开头:Linux/macOS/Unix-like 系统: 以(斜杠) 开头。。唯一性: 在同一个文件系统中,一个文件或目录的绝对路径是唯一的。无论你当前在哪个目录下工作,相同的绝对路径都指向同一个位置。清晰明确:。
2025-08-19 22:40:25
666
原创 C++类与对象的前置小知识
一、缺省参数一、缺省参数该函数的参数已经全都赋予了初值同理,半缺省就是说在函数定义时,里面的参数不会都给赋初值,比如下面这个函数,这次变量a并没有给缺省值,而且要注意的是半缺省的参数必须从右往左给默认值,不能间隔给出,比如不能void txt_Season(int a=0,int b),因为这样编译器在函数调用的时候会出错,从编译器的角度来看:参数绑定是线性的(按从左到右的顺序去匹配)
2025-07-19 21:28:33
528
原创 LCA---倍增法(也许后续会出tarjan法)
首先我们需要fa[N][20],depth[N],p[N]数组,fa数组是用来倍增的,也就是存储该结点的祖先(包括它的父亲和爷爷),depth数组是存储当前结点的深度,我们把根节点的depth定为1,p数组用来模拟队列。比如这张图我要找9和10的祖先,那么先对齐深度,9结点变成5结点,那么发现这两个的父节点不相同,那么此时同步跳跃就发力了,他会将10结点和5结点同步跳跃,也就是每次执行他两深度不变,直到找到最近祖先2,那么就停止。
2025-03-22 10:13:01
323
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅